Transformada de fourier em Octave

zafa

Power Member
"...c) Cálculo da Transformada de Fourier de sinais discretos, com possibilidade de representação
do andamento do módulo e da fase, tendo como parâmetro de entrada apenas o sinal
discreto; Na resposta, além do módulo e fase da transformada, deve também representar o
sinal de entrada (inicial);
d) Adaptação do script já usado para o cálculo da transformada de Fourier Discreta (DFT),
com possibilidade de representação do andamento do módulo e da fase, tendo como
parâmetro de entrada apenas o sinal discreto; Devem também representar o sinal inicial;
e) Operações de deslocamento na frequência sobre sequências discretas, tendo como
parâmetros de entrada são a sequência e o valor do respectivo deslocamento; Como
resposta deve obter-se a representação do sinal de entrada (inicial) e do sinal deslocado;..."

Tenho um trabalho com estas alineas para entregar na segunda. As anteriores ja estao feitas que sao um vector (1,N) aleatorio com numeros inteiros para trabalhar no resto do programa e deslocamentos temporal, algumas destas alienas ja as comecei mas no entanto estou com duvidas e agradecia esclarecimentos sobre o seguinte:

Para a alinea E para deslocar a frequência basta-m fazer a FFT do sinal original e dpois aplicar-lh um exp(-j*2*pi/N) ou não é nada disto.:-D

A esta hora da noite ja percebi que a TF Discreta é diferente da TF de sinais Discretos :lol: no entanto por mais voltas que de não sei como fazer a alinea C e D porque os graficos acabam por dar quase iguais ao original:'( e fico com o feeling q tou a fazer asneira. Já tou farto de pesquisar no google e na sebenda da cadeira (processamento Digital de SInais) e encontro as expreções mas ñ as consigo trabalhar para o octave.


tenho este codigo para a alinea C:

function res=tfsd(vect)

xn=vect;%vector inicial
N=length(vect);%comprimento do vector incial
no=0:(N-1);%comprimento do vector original para representação

n=[0:1:N-1];

Wn=exp(-j*2*pi/n)

res=xn.*Wn
.... apenas representação grafica a partir daqi.

PAra a alinea E tenho este código:
function shift=desfreq(des,vect)

xn=vect
N=length(vect),
no=0:(N-1);

n=[0:1:N-1];
k=[0:1:N-1];

Wn=exp(-j*2*des*pi/N);
nk=n'*k;

WNk=Wn.^nk;
shift=xn*WNk;
....representação grafica a partir deste ponto

Cumps
 
Back
Topo