Sistema de Comunicações Estudo de Caso: Sintonizando Projeto Rádio AM
Você pode testar o receptor AM usando uma mensagem de voz real. O valor deste teste reside na verdade, ouvir o discurso antes e depois passa pelo link de comunicação. Seus ouvidos ouvem diferenças que nem sempre são fáceis de discernir a partir exibições gráficas sozinho.
Além disso, porque a mensagem de voz ocupa uma largura de banda espectral larga do que a única sinusóide, o processamento não-linear do sinal do detector de envelope é mais realista caracterizado por a presença de uma forte interferência.
Você pode acessar a listagem de código completo para uma simulação end-to-end na módulo Python ssd.py. A simulação emprega processamento de multifrequência de sinal digital (DSP), para que uma mensagem de voz real, amostrado a 8 ksps, pode ser processado através do transceptor AM.
O sinal de mensagem em 8 ksps é upsampled por 24 a 192 KSPs. Nesta simulação, uma frequência portadora de 75 kHz (pode ser visto como uma emulação dos 455 kHz FI) é utilizado com o sinal de interferência a 82 kHz (7 kHz acima do transportador). O detector de envelope é um retificador halfwave ideal (em software), seguido por um filtro passa-baixa e um shifter nível (subtrair sinal de média).
O sinal é então downsampled por 24 a sair do receptor em 8 ksps. Testes de audição do vector de texto do discurso confirmar a eliminação dos tons dentro da banda, quando uma sétima ordem Chebyshov BPF é colocado na entrada para o detector de envelope.
Veja os resultados da simulação na figura a seguir.
Aqui estão os comandos abreviados IPython:
Dentro [964]: Fs, m_wav = ssd.from_wav ( 'OSR_us_000_0030_8k.wav') Em [965]: M_wav m_wav = [10000: 120000] #truncate o speechIn [967]: X192w, t192w, m24 = ssd.am_tx (m_wav, 0,8) # tx Sigin [968]: Xi192w = cos (2 * pi * 82.0e3 * t192w) # interferenceIn [969]: M_rx8, T8, m_rx192, x_env_det = ssd.am_rx (x192w + xi192w) do sinal # forma rx na 8k 192k, não BPF howeverIn [973]: Pxx1, f = psd (x192w + xi192w, 2 ** 12.192) Em [984]: Specgram (m_rx8,2 ** 8,8000) - # trama spectrogramIn [987]: X192fw = signal.lfilter (b_bpf, a_bpf, x192w xi192w +) # BPFIn [988]: M_rx8, T8, m_rx192, x_env_det = ssd.am_rx (x192fw) Em [995]: Specgram (m_rx8,2 ** 8,8000) - # trama spectrogramIn [996]: Ssd.to_wav ( 'speech_test.wav', 8000, m_rx8) # ouvir
Na figura a, o sinal AM aparece como uma bolha de simetria, com um pico transportadora cutucando para o meio, à direita a 75 kHz. A interferência está localizado a 82 kHz, não filtrada no presente.
A forma de filtro BPF é sobreposto no gráfico da figura de um modo que você pode ver como a interferência é cortada. Figuras b e c mostrar-lhe o impacto do BPF. o espectrograma enredo é usada aqui, que exibe o espectro de frequências em função do tempo.
A interferência de forma eficaz fica fora da passagem de banda de áudio-5-kHz, mas devido à acção de processamento de sinal não linear do detector de envelope, tons dentro da banda de a 1, 3, e 3 kHz são evidentes no espectrograma da Figura b. Com o BPF no lugar, os tons vão embora (Figura c).