Como o sinal fica quando não usamos a taxa de Nyquist para remover o alias de um sinal durante a amostragem?
Vamos supor que o sinal seja sinusoidal, com uma frequência de 500 Hz e uma amplitude de 2.
signal = 2*cos(2*pi*500*t)
Se eu fizer a amostragem (substituindo t = nTs, Ts = período de amostragem en representa o número de amostras) e plotar os sinais amostrados com um período de amostragem diferente usando o comando subplot no MATLAB, como identificar o alias em um sinal amostrado?
Aqui está o código de exemplo que plotou dois sinais, um na taxa de Nyquist e outro menor que na taxa de Nyquist:
A = 2;
Fmax = 10;
Fs = 2*Fmax;
n = 0:1/Fs:1;
Cont = A*sin(2*pi*(Fmax/Fs)*n);
Cont1 = A*sin(2*pi*(Fmax/18)*n);
subplot(2,1,1)
stem(n,Cont)
hold on
stem(n,Cont1)
e aqui está a forma de onda:
Não consegui identificar o alias. Como isso afetou o sinal quando a taxa de Nyquist não foi usada?
matlab
discrete-signals
sampling
aliasing
Sufiyan Ghori
fonte
fonte
Respostas:
Você não pode identificar o aliasing com um sinusóide simples em uma frequência específica e, de certa forma, esse é o objetivo de tentar evitá-lo. Você não pode saber se o senoide para o qual está "olhando" éQ Hz ou 2 Fs - Q Hz.
Um único componente sinusoidal com alias se parece com um sinusóide sem alias. Se você quiser experimentar o alias, precisará tentar com uma forma de onda mais complexa ou com um senoide que está mudando com o tempo.
Uma maneira de "experimentar o aliasing" é subamostrar um chilro da seguinte maneira:
Em geral, você pode pensar em Amostragem como Modulação, porque é isso que está efetivamente acontecendo na amostra e mantém o elemento de um conversor ADC.
Isso permitirá que você entenda com mais facilidade conceitos como subamostragem, por exemplo (e aplicativos onde é perfeitamente aceitável amostrar em taxas mais baixas que as taxas de Nyquist). Mas também é possível carregar um arquivo WAV no MATLAB (com 'wavread') contendo algum sinal mais complexo e antes de ouvi-lo com 'soundsc', basta multiplicá-lo com uma onda "quadrada" * (você pode querer procurar a função 'square') com alguma frequência menor que a do arquivo WAVFs . Isso introduzirá efetivamente a característica chave (indesejada) do aliasing, que é essa dobra do espectro . O resultado não é muito agradável, portanto, você pode manter o volume dos alto-falantes baixo.
Eu espero que isso ajude.
* EDIT: Obviamente, "square" retorna um quadrado com uma amplitude no intervalo [-1,1], portanto, antes de multiplicá-lo com seu sinal, seria melhor redimensioná-lo como:
fonte
Você tem a ideia certa, mas um erro importante foi atrapalhar seus resultados.
Fazendo o tempo aumentar 1 / Fs, você está implicitamente fazendo as unidades de tempo segundos. Em outras palavras, "0" é 0 segundos e "1" é 1 segundo.
Ao normalizar a frequência senoidal por Fs, você assume implicitamente que a unidade de amostra é 1 / Fs segundos. É por isso que você estava recebendo muitas amostras para um único ciclo senoidal quando pretendia ter apenas duas amostras por ciclo (a taxa de Nyquist). A propósito, qualquer unidade de amostra é boa (1 segundo ou 1 / Fs segundo), você só precisa ser consistente.
Aqui está minha tentativa do que eu acho que você pretendia.
Mudei o "pecado" para "cos" porque estava atingindo todos os zero pontos sinusóides em vez dos picos.
fonte
Eu acho que você precisa aumentar a frequência do tamanho ou usar etapas muito maiores na amostragem.
O alias não aparece se você tiver uma função muito suave. Por exemplo, uma função constante não produz aliasing, seja qual for a amostragem usada.
fonte