Beamforming de Ultrassom Médico: Cadeia de Sinais de 128 Canais e Orçamento de Taxa de Dados
Uma sonda colorida de ultrassom de 128 canais amostra cada canal com um ADC de 12 bits e 40 MS/s, dando uma taxa de dados bruta de cerca de 7,7 GB/s — um nível que uma CPU não absorve, quanto mais gerar imagens em tempo real. A abordagem correta é rodar beamforming, detecção de envoltória e downsampling dentro do FPGA primeiro, e só entregar os dados comprimidos de imageamento ao host. Este artigo divide a cadeia de 128 canais em estágios, faz o orçamento da taxa de dados a cada passo e explica exatamente o que o FPGA faz no meio.
1. A Cadeia Completa de Sinais de Imageamento por Ultrassom
Do array da sonda à imagem em tons de cinza na tela, o sinal percorre uma longa cadeia, com o FPGA posicionado depois do front-end analógico e antes do imageamento no host:
1. Array da sonda (128 elementos): emite ultrassom e recebe ecos do tecido; cada elemento mapeia um canal independente.
2. Front-end analógico (AFE): compensação de ganho temporal TGC → filtro passa-banda → amplificação de ganho variável → digitalização ADC.
3. Beamforming no FPGA: delay programável por canal, ponderação e somatório em uma scan line, completando o foco dinâmico.
4. Demodulação IQ + downsampling + detecção de envoltória: comprime o sinal RF de alta frequência em dados de amplitude em tons de cinza.
5. Scan conversion + frame buffer + upload PCIe: converte scan lines polares para cartesianas, e envia ao host para DSC e mapeamento de cor.
A razão pela qual os passos 3 e 4 precisam rodar no FPGA é direta: 128 canais precisam ser alinhados, atrasados e somados com ponderação em microssegundos, com cada atraso mudando dinamicamente com a profundidade. Este é um trabalho altamente paralelo, por canal, de temporização determinística; software em CPU de propósito geral não tem nem o paralelismo nem o frame rate de tempo real.
2. Orçamento de Taxa de Dados de 128 Canais (Calcule Antes de Conectar)
O orçamento começa no ADC de canal único e multiplica para cima. Pegue um ADC de 12 bits, 40 MS/s:
| Estágio | Taxa por canal | Total de 128 canais | Observação |
|---|---|---|---|
| Amostragem bruta ADC | 12 bit × 40 MS/s = 480 Mb/s (60 MB/s) | 128 × 480 = 61440 Mb/s ≈ 61,4 Gb/s (7,68 GB/s) | Pico bruto entrando no FPGA |
| Beamforming (soma atrasada) | 128 canais somados com ponderação → 1 scan line | Não são mais 128 caminhos paralelos após o somatório | O paralelismo é comprimido aqui |
| Demod IQ + downsample CIC/FIR | RF 40 MS/s → equivalente complexo ~10 MS/s | Caminho único ~20 MB/s (complexo 12-bit) | Abaixo de 1/4 do bruto após decimação |
| Detecção de envoltória + compressão log | Amplitude 8-bit, ~10 MS/s | Caminho único ~10 MB/s | Faixa dinâmica comprimida para 40–60 dB |
| Upload PCIe ao host | — | 256 linhas × 60 fps × 8 bit ≈ 122 MB/s | A CPU lida apenas com este nível |
Conclusão chave: a compressão acontece dentro do FPGA. O que entra no FPGA é um stream paralelo bruto de 61,4 Gb/s; o que sai para o host é apenas cerca de 122 MB/s de dados de frame em tons de cinza. A taxa de compressão ultrapassa 60×, obtida pelo beamforming que funde 128 caminhos em um, depois o downsampling e a detecção que colapsam o RF de alta frequência em uma envoltória de amplitude. Pule o FPGA e empurre o stream bruto de 7,68 GB/s para uma CPU, e nem a banda da memória nem o PCIe aguentam.
Frame Rate vs Número de Scan Lines
No beamforming, cada scan line exige uma nova soma atrasada de 128 canais. Se um frame tem N linhas na frame rate F, o FPGA completa N×F somas por segundo. Com N=256 e F=60 fps, são 256 × 60 = 15360 scan lines por segundo, cada uma somando 128 amostras ponderadas e atrasadas — o ponto de partida para dimensionar os multiplicadores do FPGA (DSP) e a RAM on-chip (FIFOs de delay-line).
3. Como a Cadeia Interna do FPGA é Dividida
1. Aquisição Sincronizada e Alinhamento de Canais
Os 128 canais geralmente passam por vários AFEs entrando no FPGA via JESD204B ou LVDS paralelo. O primeiro portão é a compensação de skew: os comprimentos de rastreamento diferem por canal, então as amostras precisam alinhar a uma referência de clock antes do FIFO; senão o somatório atrasado desalinha a fase, gerando lóbulos laterais e artefatos fantasmas.
2. Soma Atrasada de Foco Dinâmico
Cada elemento fica a uma distância diferente do ponto de foco, então os ecos chegam em momentos diferentes. O FPGA compensa essa diferença de tempo por canal com linhas de delay programáveis (FIFOs ajustáveis por profundidade ou delays com tap), depois multiplica por um peso de apodização e soma. A profundidade do foco se move com o porta de tempo, então os parâmetros de delay são atualizados por segmento; isto consome grande BRAM on-chip e DSP para multiply-accumulate.
3. Demodulação IQ, Downsampling e Detecção de Envoltória
A linha RF somada passa primeiro por demodulação em quadratura (mistura I/Q), depois uma cascata CIC + FIR decima a taxa de amostragem; uma transformada de Hilbert encontra a envoltória, e a compressão log mapeia a grande faixa dinâmica para tons de cinza de 8 bits. Este estágio é filtragem típica de pipeline — alta utilização de DSP mas baixo paralelismo.
4. Scan Conversion, Frame Buffer e Upload
Scan lines polares em leque são reamostradas em pixels cartesianos retangulares, escritas em um frame buffer DDR3/4, depois o DMA envia o frame inteiro ao host via PCIe. Este estágio cuida da banda de leitura/escrita da DDR e do motor DMA, não da vazão do DSP.
4. Caso de Engenharia: Dimensionamento de Front-end de Ultrassom Portátil
Um front-end portátil de ultrassom colorido usa um AFE de 128 canais amostrando RF a 40 MS/s, 12-bit. O beamforming precisa processar 128 delay lines e multiplicações ponderadas em paralelo, mais um canal Doppler de fluxo sanguíneo. Pelo orçamento acima, os 61,4 Gb/s brutos comprimem dentro do FPGA para cerca de 122 MB/s de frames em tons de cinza; uma banda útil PCIe Gen2 x4 carrega isso confortavelmente.
- Alta capacidade (DUF7690T / JFM7VX690T): lógica e RAM on-chip amplas para segurar 128 FIFOs de delay-line, síntese em tons de cinza e o canal Doppler de uma vez; adequado a um design completo de 128 canais com alta frame rate.
- Expansão de canais alta (XCKU15P): transceptores fortes e agregação LVDS multicanal; adequado a expansão adicional de canais ou sondas distribuídas que enviam dados AFE de volta por fibra.
- Entrada gama média (DUK7325T / JFM7K325T): recursos e custo equilibrados; adequado a prototipagem em tons de cinza de 64–128 canais e produtos de gama média-baixa — rode a cadeia de soma atrasada e detecção aqui antes de migrar para uma plataforma de alta capacidade.
O imageamento por ultrassom é, no fundo, usar somas atrasadas paralelas dentro do FPGA para transformar 128 ecos brutos de alta velocidade em uma única scan line. Uma vez claro o orçamento de taxa de dados — 61,4 Gb/s no front-end, 122 MB/s no upload — você sabe qual passo precisa ficar on-chip e qual pode ir ao host. No ultrassom médico, o FPGA não é uma placa aceleradora; é o próprio imageamento.
