1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Transformada de fourier em Octave

Discussão em 'Programação' iniciada por zafa, 24 de Novembro de 2006. (Respostas: 0; Visualizações: 2054)

  1. zafa

    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
     

Partilhar esta Página