Eu tenho um sinal com um tempo de amostra de 0,5 microssegundos e gostaria de mudar esse sinal por uma fração do tempo da amostra, digamos por 3 nano segundos.
Li alguns recursos on-line sobre a filtragem de atraso fracionário e sobre o uso da FFT e IFFT para executar esse atraso. Alguém pode me indicar alguma teoria sobre isso ou me dar uma idéia de como implementá-la.
Para a mudança regular do sinal para amostras inteiras, eu implementei isso alterando o sinal pelo número necessário de amostras e adicionando zeros no início. Essa abordagem está correta?
fonte
Além de fazer soluções do tipo fft, você também pode usar a interpolação, é claro que o tipo específico de interpolação apropriado seria baseado nas suas necessidades! A interpolação linear funcionou bem para mim no passado com efeitos de flange, mas sua milhagem pode variar.
A interpolação de Lagrange também pode valer a pena investigar, se a interpolação linear não for boa o suficiente. http://blog.demofox.org/2015/07/08/lagrange-interpolation/
fonte
Isso pode ser feito usando a função 'delayseq' no MATLAB. Esta função pode mudar o sinal em amostras fracionárias. Você pode escrever o número de amostras que deseja alterar ou, em termos de tempo, a quantidade de atraso que deseja. Mas o importante a ser observado é que o sinal atrasado tem o mesmo comprimento do sinal original; portanto, se você não deseja truncar o sinal, use primeiro o preenchimento zero e depois o delayseq. https://in.mathworks.com/help/phased/ref/delayseq.html
fonte