Programa experimental para transferência digital de imagens e textos
de JJ0OBZ
Por PY4ZBZ em 10-06-2010 rev. 13-07-2010
Download aqui (versão mais recente).
E veja aqui a versão mais recente
Em 07-07-2010 saiu a v.1.0.1 build 003:
As principais novidades do Build 003, em relação as anteriores descritas mais abaixo, são:
- Telas separadas para RX. TX e LOG. Esta ultima permite ver a imagens salvas (na pasta AutoSave) com as setas.
- Varredura da imagem, além do sentido normal horizontal, também no sentido vertical ou de forma aleatória.
- Waterfal com cores ajustáveis.
- Melhor ajuste de nível de áudio de entrada e saída.
- Melhorias no funcionamento do BSR.
Em 01-07-2010 foi lançada a segunda versão do KG-STV Ver.1.0.1 buid 002 :
As principais novidades em relação a versão inicial, descrita detalhadamente mais abaixo, são:
1- Espectrograma ou "waterfall" do sinal recebido na mesma janela do diagrama do olho, podendo mudar de um para outro com um click na janela. O waterfall também permite ajustar a freqüência de sintonia do receptor SSB, com a ajuda dos dois traços verticais, como mostra a figura acima.
2- A opção "AutoSave" agora está na tela "Set" de configuração (Settings). Se marcada, as imagens recebidas serão salvas na pasta "AutoSave" com nomes formados pela "data_hora_prefixotx.jpg" e que podem ser vistas com os botões "setas para direita/esquerda". Há também os botões "To e From Clipboard" que permitem salvar ou recuperar uma imagem da área de transferência do Windows.
3- Agora o KG-STV informa o prefixo de quem está transmitindo, e que deve ser configurado em "Set", na instalação. Esse prefixo aparece na transmissão e na recepção, abaixo da janela do waterfall ou do diagrama do olho, como mostra afigura abaixo.
4- O botão "Check TX Img" permite ver a imagem que está carregada no buffer de transmissão, mesmo tendo outra imagem recebida na tela, ou recalcular o tempo de transmissão, indicado na barra de titulo, após mudar os modos de TX ou a taxa de compressão.
A primeira versão do KG-STV foi a Ver.1.0.0 build 000 de 08-02-2010, descrita a seguir.
Esse é um programa que realmente merece o nome de SSTV, pois funciona imitando o velho e consagrado estilo da SSTV analógica, televisão de varredura lenta. De forma semelhante a SSTV analógica, que varre a imagem linha por linha, o KG varre a imagem por blocos de 16x16 pixels, ou seja, as 15 linhas de varredura são constituídas cada uma por 20 blocos de 16x16 pixels, que durante a transmissão, são comprimidos e codificados digitalmente, um por um. A imagem tem também um dos formatos mais usado em SSTV, que é de 320 por 240 pixels. Os 300 blocos da imagem são transmitidos da esquerda para direita e de cima para baixo. A recepção pode ser feita em qualquer momento durante a transmissão, como em SSTV analógica.
O programa usa a placa de som, e uma interface adequada para qualquer outro modo digital ou SSTV analógica.
O programa KG permite usar um de dois tipos de modulação digital : MSK (2 níveis) e 4LFSK (4 níveis). A modulação MSK (minimum-shift keying) é uma modulação FSK (modulação por desvio de freqüência) de fase continua, onde o desvio de freqüência é igual a metade da taxa de sinalização em Bauds. Em MSK, o KG transmite a 1200 Bauds (o que equivale nesse caso de MSK, a 1200 bps) e as freqüências de marca (bit 1) e espaço (bit 0) estão em 1800 e 1200 Hz respectivamente. O 4LFSK é uma versão de 4 níveis do MSK, e portanto transporta duas vezes mais bits, ou seja, com os mesmos 1200 Bauds, transmite 2400 bits por segundo, gastando portanto a metade do tempo, mas necessita de um canal com menos ruído. A figura seguinte mostra os diagramas do olho para os dois tipos de modulação possíveis:
A figura seguinte mostra o espectro do sinal. A banda ocupada é de pouco menos 2000 Hz centrada em 1500 Hz e pode portanto ser transmitida em SSB ou FM.
A transmissão pode ser feita sem (NORM) ou com (CONV) código convolucional de correção de erros, mas nesse caso, a transmissão é obviamente mais demorada (quase o dobro do tempo), mas consegue vencer mais o ruído do canal. A figura seguinte mostra exemplos de tempos gastos para transmissão (TxTime) em função do tipo de modulação, e com uso ou não do código convolucional.
A figura acima também mostra o efeito da compressão JPEG (4:1:1) que pode ser aplicada à imagem a ser transmitida. O KG permite ajustar a compressão entre 0,07 a 2. Menos compressão garante melhor qualidade de imagem mas resulta em uma transmissão mais demorada. Na imagem da direita é possível ver a degradação devida a uma maior compressão.
Utilização:
O KG transmite imagens de 320 por 240 pixels. Para tal, basta arrastar e soltar um arquivo de imagem (no formato BMP ou JPG somente, com pelo menos 320x240, sendo que a imagem será ajustada (reduzida) e cortada se for preciso, para 320x240) para a janela de imagem do KG.
Depois é só escolher o tipo de modulação, com ou sem código convolucional, e ajustar a compressão, nos três menus ao lado do botão de transmissão da imagem.
Assim como no DIGTRX e EASYPAL, é possível corrigir blocos errados via BSR (Block Send Request). Um cursor vertical permite ajustar o nível de áudio de saída da placa de som. A imagem recebida pode ser automaticamente salva, se "AtSave" estiver marcado. Nesse caso, ela vai ser salva na pasta AutoSave que fica dentro da pasta onde foi instalado o KG. Essa instalação é extremamente simples e não altera o registro do Windows.
O KG também permite transmitir pequenos textos de até 510 caracteres, usando a janela de texto e o botão "Send Text".
Como a transmissão em FM não altera a freqüência de áudio, basta ajustar os níveis de TX e RX para ter um diagrama de olho mais aberto possível. Já em SSB, a sintonia do receptor é muito importante, mas é fácil de ser feita, bastando centrar o olho verticalmente. Cada divisão vertical do diagrama equivale a 150 Hz. A figura seguinte mostra o efeito do erro de sintonia do receptor:
Mais dados técnicos :
Correção de erros: Com ou sem Codigo convolucional Viterbi K=7
Seqüência de sincronismo : 63 bits:
000011100001001000110110010110101110111100110001010100111111010
Embaralhamento: seqüência pseudo randômica de 127 bits:
1110110011000100100111001111100100000100011010101001101101001010
000101100001100101111111010110111011110001110100010101110000001
Detecção de erros: CRC de 16 bits
Cabeçalho: seqüência repetitiva de 256 bits
Configuração: Informações de codificação com 54 bits + bloco de dados de comprimento variável
Os 54 bits são os seguintes:
sys: system code 4 bits, com: command code 4 bits, c: Coding Mode 1 bit, m: modulation mode 1 bit, x: pixel position (X) 6 bits, y: pixel position (Y) 6 bits, sc: JPEG Size Scale 4 bits, size: data size (tamanho do bloco de dados) 12 bits, CRC: Error Detection Code 16 bits
O diagrama do olho
O diagrama do olho é uma imagem da forma de onda, vista num osciloscópio, do sinal digital demodulado e passado por um filtro de Nyquist, sendo o sincronismo da varredura do osciloscópio feito pelo relógio extraído do sinal. Portanto, é a superposição de varias seqüências de dados. A superposição de vários "0" com vários "1" cria uma imagem semelhante a um olho humano, para um sinal binário. Isso porque o sinal digital quadrado original fica "arredondado" pelo filtro de Nyquist, cuja finalidade principal é limitar a banda ocupada pelo sinal digital, que, se fosse o original quadrado, seria infinita. Os pontos superior e inferior de cruzamento das ondas correspondem aos níveis binários "1" e "0" respectivamente, para um sinal de dois niveis. A presença de ruído e de interferência intersimbolica (ISI) produz o fechamento do olho. Portanto, o diagrama do olho é uma maneira pratica de verificar e avaliar a qualidade da transmissão digital. O fechamento do olho no sentido vertical (V na figura acima) é devido a variações de amplitude, enquanto que o fechamento horizontal (H na figura acima) é devido a variações de fase (jitter) e a característica de roll-off dos filtros. O ruído branco e a ISI por exemplo, provocam o fechamento nos dois sentidos (como pode ser visto na figura mais acima do sinal MSK com ruído).
Veja mais aqui :
Eye Diagram for Digital Communications
Understanding Eye Pattern Measurements
O meu programa didático RZ2 permite fazer inúmeras simulações com o diagrama do olho, como influencia do roll-off, ruído e ISI, assim como plotar a resposta impulsional de filtro de Nyquist, e muito mais.
Imagens recebidas de um satélite GEO
73 de Roland PY4ZBZ