O que o vendedor se esqueceu de te dizer #3 – ou porque a sonda XJ02B envia uma imagem verdadeira que ninguém consegue ler
Esta é a terceira parte da série em que verifico quanto do que vês no ecrã de uma sonda é medição e quanto é desenho. No episódio anterior, a Lucky FF918 revelou-se um medidor de profundidade com termómetro que desenha o ecograma colorido de memória e sorteia o tamanho do peixe.
Hoje está na bancada algo bem mais barato e sem nome: uma bola preta por uns cinquenta euros de um marketplace chinês, vendida como «2023 new Wireless Fish Finder». Por baixo, um autocolante com SONAR 125 kHz e mais nada. Bluetooth, a aplicação Fish Helper, nem sequer o nome do fabricante na caixa.
E aqui começa a surpresa, porque a XJ02B envia um corte verdadeiro do eco, e não quatro números como a FF918. Parece um salto de categoria. Só que calculei quanto desse corte cabe a um peixe, e o resultado é pouco demais para avaliar seja o que for de forma fiável.

Toda a conversa entre a XJ02B e o telemóvel são 140 bytes, dos quais 120 são amostras de eco
Liguei um telemóvel para registar o tráfego Bluetooth e decompus byte a byte o que chega da água. A trama tem comprimento fixo de 140 bytes e chega cerca de seis vezes por segundo.
- 120 bytes são amostras consecutivas da intensidade do eco, da superfície até à profundidade definida
- 2 bytes são a profundidade
- 2 bytes são a temperatura
- 3 bytes são o veredicto já feito da sonda: profundidade do alvo e o seu «tamanho» numa escala de 1 a 3
- o resto são marcas de início e fim, nível de bateria, definições e soma de verificação
Para comparar: a Lucky FF918 enviava nove bytes e quatro números que diziam apenas «a esta altura está algo suspenso». Aqui recebemos um corte real. Cento e vinte parece muito. Já vais ver porque continua a ser pouco.

A XJ02B ilumina de uma vez uma camada com 16 centímetros de espessura e isso determina tudo o resto
Isto não é explicado por nenhuma descrição de produto e, sem isto, o resto não se percebe.
A XJ02B não observa toda a coluna de água de uma vez. Emite um impulso sonoro curto, que tem um certo comprimento na água, e escuta o que volta. Em cada instante ouve o reflexo apenas daquela camada que está a passar. A camada desce à velocidade do som, ou seja, cerca de um quilómetro e meio por segundo, e pelo caminho a sonda regista 120 amostras consecutivas de intensidade.
A 125 kHz, uma oscilação dura 8 microssegundos. O transdutor precisa de algumas dezenas de oscilações para entrar em regime, portanto o impulso ocupa na realidade entre 12 e 23 centímetros de percurso na água, consoante a profundidade definida. Com 10 metros de água são cerca de 16 centímetros.
E daí decorre a limitação mais importante deste equipamento: tudo o que for mais fino do que essa camada não tem forma. Não desenha um arco, não faz uma mancha de determinado tamanho. Apenas faz com que uma amostra das 120 seja mais forte do que as vizinhas.
A XJ02B não vê o tamanho de um peixe: a diferença entre trinta e cinquenta centímetros é um quarto de amostra
Vamos calcular diretamente. Com 10 metros de água a XJ02B muda para o alcance de 18 metros, portanto uma amostra da imagem corresponde a 15 centímetros de coluna de água, enquanto o impulso tem 16 centímetros.
| Profundidade da água | Uma amostra da imagem | Peixe de 30 cm | Peixe de 50 cm | Diferença |
|---|---|---|---|---|
| 3 m | 2,5 cm | 7,1 amostras | 8,7 amostras | 1,6 amostras |
| 5 m | 5,1 cm | 3,8 amostras | 4,6 amostras | 0,8 amostras |
| 10 m | 15,2 cm | 1,5 amostras | 1,7 amostras | 0,26 amostras |
| 20 m | 22,9 cm | 1,3 amostras | 1,4 amostras | 0,17 amostras |
Um quarto de amostra é menos do que um pixel da imagem. Aos 20 metros a diferença cai para um sexto. Mesmo no melhor caso, ou seja, aos 3 metros, é uma amostra e meia.
A conclusão é incómoda mas inequívoca: a XJ02B é fisicamente incapaz de ver o tamanho de um peixe. E não por haver poucas amostras. Mas porque o seu próprio impulso é mais espesso do que o peixe. É o teto físico deste equipamento, que nenhuma atualização de software vai mexer.
O tamanho do peixe na XJ02B é a intensidade do eco, não o comprimento do peixe
Como o tamanho não pode ser medido, a XJ02B tem de o ir buscar a algum lado. Vai buscá-lo à intensidade do reflexo e arruma-o em três gavetas: fraco é um, mais forte é dois, o mais forte é três. Esse único byte segue para a aplicação, que desenha o ícone correspondente.
O problema é que a intensidade do eco depende sobretudo de duas coisas que nada têm a ver com o comprimento do peixe:
- como o peixe está orientado no momento da medição, de lado ou de boca para a sonda
- a que distância do centro do feixe nada, porque na margem do cone o eco é claramente mais fraco
É preciso ser justo: ao contrário da Lucky FF918, aqui o tamanho não é sorteado. É calculado. Só que é calculado a partir de uma grandeza que diz muito pouco sobre o comprimento de um peixe. O mesmo peixe, no eixo do cone e na sua margem, recebe dois tamanhos diferentes.
O fundo, para a XJ02B, é simplesmente a mais forte das 120 amostras
Como a XJ02B tem 120 números, tem de decidir de alguma forma qual deles é o fundo. Verifiquei isso no software dela: percorre-os de cima para baixo e guarda a amostra mais forte. É essa que declara fundo.
Não verifica se o eco é plano. Não verifica se é duro. Não compara com o ping anterior. Simplesmente a mais forte.
Consequência: se debaixo do barco estiver um cardume denso ou se algo duro estiver suspenso acima do fundo e refletir mais forte do que o próprio fundo, isso será tomado como fundo. E nem te apercebes, porque a aplicação traça a linha do fundo com um filtro de média sobre as últimas dezasseis medições. Em vez de um degrau desenha um declive suave. O fundo sobe e volta a descer, como se tivesses passado por cima de um cabeço que não existe.
Na coluna de água quase tudo pode tornar-se peixe para a XJ02B
Verifiquei por que critérios a XJ02B reconhece um peixe. As condições são três e é toda a lista:
- o eco é mais forte do que um limiar dependente da sensibilidade definida
- o alvo está pelo menos 0,6 metros acima do fundo
- o alvo está mais fundo do que 0,7 metros abaixo da sonda
Não há análise da forma do eco. Não há verificação da duração do eco. Não há seguimento do alvo entre pings consecutivos. A decisão é tomada com uma amostra de um único ping.
| O que está mesmo debaixo do barco | O que a XJ02B vai mostrar |
|---|---|
| peixe | ícone de peixe |
| folha a flutuar, pau, manto de algas | ícone de peixe |
| bolhas, sedimento em suspensão depois da chuva, termoclina | ícone de peixe |
| ramo suspenso, linha partida | ícone de peixe |
| erva mais alta do que 0,6 m acima do fundo | ícone de peixe, e só as pontas |
| erva mais baixa do que 0,6 m acima do fundo | nada, é invisível |
| tronco deitado no fundo | nada, confunde-se com o fundo |
Funciona portanto nos dois sentidos e ambos são maus. Justamente o que queres saber antes de pousar a montagem, ou seja, onde está a erva e onde está o obstáculo, não tem qualquer representação nesse ecrã.
A aplicação Fish Helper tem duas imagens do fundo e a predefinida não toca nas medições
Na aplicação disponível ao público existem duas formas independentes de desenhar o fundo, e não são dois estilos gráficos, mas duas maneiras diferentes de a imagem ser produzida.
- O modo Sonar pega nessas 120 medições e faz delas um ecograma verdadeiro.
- O modo General chama-se no código, literalmente, «cálculo da imagem de um fundo virtual». Não toca nas medições nem uma vez. Pega num número, a profundidade, suaviza-o e preenche tudo abaixo da linha com uma imagem já feita de um ficheiro que corre em ciclo.
O modo General é o predefinido. Depois da instalação a aplicação arranca precisamente nele.
Mudas para Sonar e cais na armadilha seguinte. Com os ícones de peixes ligados, e estão ligados por omissão, a aplicação encontra o fundo antes de desenhar e apaga para zero tudo o que está acima. Toda a coluna de água, todos os ecos fracos, toda a vegetação. Fica o traço do fundo e os ícones a flutuar por cima.
Tens portanto uma escolha de que ninguém fala: ou os ícones de peixes, ou a imagem da coluna de água. Nunca as duas coisas ao mesmo tempo.

Os primeiros 0,7 metros abaixo da XJ02B são cegos e abaixo de 0,61 m a app mostra traços
O transdutor comporta-se como um sino. Enquanto emite, e ainda muito depois de parar, está surdo, porque o seu próprio som abafa tudo o que volta. Das medições na água resulta uma zona morta de cerca de 70 centímetros.
Um peixe parado 60 cm abaixo da sonda não existe. A engodo mesmo debaixo do barco também não. Em água pouco funda isto torna-se um problema sério, porque é o próprio fundo que cai nessa zona morta.


Essa camada amarela não é informação separada sobre o fundo. É o máximo da escala: o recetor ensurdecido escreve o maior valor possível e a paleta pinta o máximo de amarelo. O fundo verdadeiro perde-se dentro dessa mancha.
Abaixo de certo limite a aplicação simplesmente recusa colaborar. No código há uma condição rígida: se a profundidade for inferior a 0,61 metros, mostra traços em vez de um número. Não «mede com mais cuidado», não «avisa o utilizador». Traços.
Há ainda outro comportamento visível apenas em água rasa. Quando a XJ02B perde o fundo, a aplicação coloca no lugar 76 metros e leva a linha até lá com esse mesmo filtro de média. Em vez de um degrau desenha um declive suave. É daí que vem aquela montanha que de repente cresce em água pouco funda. Ninguém a mediu.
Aos 10 metros a XJ02B ilumina um círculo com 8 metros de diâmetro

A XJ02B não ilumina para baixo como um laser, mas como uma lanterna: quanto mais fundo, mais largo é o círculo que ilumina. Os vendedores indicam 90 graus para esta classe de equipamento, no que não acredito, porque não bate certo com a física. A 125 kHz a onda na água tem cerca de 12 milímetros e, para obter um cone de 90 graus, o elemento teria de ter uns 8 milímetros, ou seja, seria menor do que a onda que emite. Na realidade saem cerca de 45 graus, o que é confirmado por outra sonda da mesma família, que à mesma frequência declara exatamente isso.
| Profundidade da água | Diâmetro do círculo iluminado (45°) |
|---|---|
| 5 m | mais de 4 metros |
| 10 m | mais de 8 metros |
| 20 m | mais de 16 metros |
Com 10 metros de água, o alvo que vês pode estar exatamente debaixo de ti ou quatro metros ao lado. Não tens como decidir. E lembro que nem sequer tem de ser um peixe.
A XJ02B nunca mede o que está exatamente debaixo do barco
Isto decorre diretamente da secção anterior, mas é suficientemente importante para merecer lugar próprio. Como a sonda ilumina um círculo com oito metros de diâmetro, ouve os reflexos de todo esse círculo ao mesmo tempo. E como declara fundo a amostra mais forte que chegou primeiro, na prática indica a profundidade do reflexo forte mais próximo de todo o círculo, e não a do ponto sobre o qual estás.
Em fundo plano isso não importa, porque o ponto mais próximo calha estar debaixo do barco. O problema começa em todo o lado onde o fundo não é plano, ou seja, exatamente nos sítios que procuras.
Num declive a sonda mostra a distância perpendicular, não a profundidade
Quando passas por cima de um talude, a margem menos funda do declive entra no cone e o eco dela volta mais cedo do que o eco de debaixo do barco. A XJ02B indica então a distância ao ponto mais próximo do declive, na prática a distância perpendicular à superfície do fundo. Sempre no mesmo sentido: pouco fundo a mais.
| Inclinação do fundo | Profundidade real debaixo do barco | O que a XJ02B vai mostrar | Erro |
|---|---|---|---|
| 5° | 10,00 m | 9,96 m | 4 cm |
| 10° | 10,00 m | 9,85 m | 15 cm |
| 15° | 10,00 m | 9,66 m | 34 cm |
| 20° | 10,00 m | 9,40 m | 60 cm |
| 25° | 10,00 m | 9,06 m | 94 cm |
| 30° | 10,00 m | 8,66 m | 1,34 m |
Num declive de 20 graus, o típico talude de uma saibreira, a XJ02B erra sessenta centímetros. Numa aresta íngreme, mais de um metro. E não o assinala de forma alguma, porque do ponto de vista dela está tudo bem: encontrou um eco forte e comunicou-o.
Uma planta ou um obstáculo dentro do cone toma conta da medição de profundidade
O mesmo mecanismo atua com os obstáculos e é ainda mais enganador. Se em qualquer ponto do círculo iluminado houver um tufo de erva, estiver um ramo ou sobressair uma pedra, e isso refletir mais forte do que o fundo mole debaixo do barco, a XJ02B indica a profundidade desse obstáculo e toma-o por fundo.
| Profundidade da água | Diâmetro do círculo iluminado | Objeto a 1 m acima do fundo dentro desse círculo |
|---|---|---|
| 5 m | 4,1 m | a sonda pode indicar 4 m em vez de 5 m |
| 10 m | 8,3 m | a sonda pode indicar 9 m em vez de 10 m |
| 20 m | 16,6 m | a sonda pode indicar 19 m em vez de 20 m |
Na prática isto significa que ao mapear um pesqueiro com uma sonda destas não medes o fundo, mas a envolvente de tudo o que reflete num raio de vários metros. Um ponto assinalado como 9 metros pode ser o topo a nove metros de um tufo de erva que está quatro metros fora da tua rota, enquanto debaixo do próprio barco há dez metros de fundo limpo.
E é nisso que consiste a diferença entre cone largo e cone estreito, de que os vendedores não falam. Um cone estreito não é uma especificação pior, mas melhor. Quanto mais estreito o círculo, maior a probabilidade de o que vês estar mesmo debaixo de ti.
Como verificar isto sozinho, sem qualquer equipamento
Não precisas de acreditar na minha palavra. Três testes, cada um feito em poucos minutos:
- Muda o modo de General para Sonar. Em General o fundo é liso e tem sempre a mesma textura. Em Sonar fica granulado e aparecem ecos fracos. A mesma água, o mesmo segundo, e a diferença está apenas em a aplicação ter usado as medições.
- Desliga os ícones de peixes e olha para quanto aparece de repente na coluna de água. Estava tudo ali desde sempre, apenas tinha sido apagado para dar lugar aos ícones.
- Entra em água com menos de 0,7 metros. Vais ver um teimoso 0,7 m independentemente da profundidade real, uma camada amarela a inundar o ecrã, depois traços em vez do número e, por fim, uma montanha a crescer do nada.
Resumo – o que a XJ02B não te diz abertamente
- Não distingue um peixe de 30 cm de um de 50 cm, porque o seu próprio impulso é mais longo do que o peixe. Aos 10 metros a diferença é um quarto de uma amostra da imagem.
- O «tamanho do peixe» é a intensidade do eco, dependente sobretudo da orientação do peixe e da sua posição no cone, não do comprimento.
- Qualquer reflexo na água pode tornar-se peixe. A vegetação junto ao fundo e os obstáculos não têm qualquer representação no ecrã.
- O fundo é a amostra mais forte, sem verificação nenhuma. Um cardume acima do fundo consegue substituí-lo, e o filtro transforma isso numa elevação suave.
- Não mede o que está debaixo do barco, mas o reflexo forte mais próximo de um círculo com oito metros de diâmetro. Num declive de 20 graus engana-se 60 cm, sempre por defeito.
- Os primeiros 0,7 metros são cegos e abaixo de 0,61 metros a aplicação mostra traços em vez da profundidade.
- O modo predefinido desenha o fundo a partir de uma imagem e os ícones de peixes ligados apagam toda a coluna de água.
Por outras palavras: isto é um medidor de profundidade com um detetor simples de reflexos. A profundidade mede-a como deve ser e isso é realmente útil. Deteta que há algo na água, e isso também tem valor. Mas fica por aí.
Face à Lucky FF918 é mesmo assim um avanço, porque ali a imagem do fundo era inteiramente desenho e o tamanho do peixe literalmente sorteado. Aqui a medição existe e é verdadeira. No entanto, se compras isto a pensar que vais ver um peixe, avaliar o tamanho dele ou ler a estrutura do fundo antes de pousar a montagem, estás a comprar algo que este equipamento não sabe fazer nem virá a saber.
O que não verifiquei e por isso não escrevo: a qualidade do transdutor em si, a sensibilidade real a alvos pequenos, o comportamento no lodo e na vegetação e a comparação com equipamento de marca na mesma água. Descrevo apenas o que consegui apurar: o que esta sonda envia e o que a aplicação faz com isso.
Fontes e material para verificares
- NOAA – What is sonar? – a base do funcionamento de uma sonda: impulso emitido, tempo de retorno do eco, conversão em distância
- NOAA – como o som se propaga na água – cerca de 1480-1500 m/s, a constante em que assenta qualquer conversão do tempo de eco em profundidade
- FAO Fisheries Technical Paper 240: Fisheries Acoustics – ângulo do feixe, força do alvo e a razão pela qual a intensidade do eco nada diz sobre o comprimento de um peixe
- Bluetooth SIG – visão técnica – o transporte BLE com que a XJ02B envia a sua trama para o telemóvel
No próximo episódio: uma sonda da mesma família de protocolo que declara duas frequências, 125 e 330 kHz. Verifiquei se as tem mesmo.
É assim que funciona connosco: antes de qualquer coisa entrar nos nossos barcos, passa por esta bancada. E se algo não passa, dizemo-lo em voz alta, mesmo quando ninguém quer ouvir.

Asystent pomocy Extreme One