true }, "HTML-CSS": { availableFonts: ["TeX"] } });A seguir mostramos um programa feito para Octave. O codigo mostrado a seguir foi feito em sala de aula com alunos do curso de Metodos Matematicos para Engenharia do UniCEUB e pode ser colocado em um arquivo *.m que rodara tanto no Octave) quanto no MATLAB. Ele mostra os Espectros de Magnitude e de Fase de um sinal x[n] com periodo N. O procedimento mostra ao final uma janela com os referidos espectros no intervalo [-N+1,N], ou seja, colocarmos o sinal com dois periodos fundamentais para que ficasse mais facil a visualizacao.So lembrando do referencial teoricoConsidere um sinal x[n] com periodo fundamental N (natural) entao temos$$x[n]=\sum_{k\in \left\langle N \right\rangle} X[k]e^{jk\Omega_0 n}$$.$$X[k]=\frac{1}{N}\sum_{n\in \left\langle N \right\rangle} x[n]e^{-jk\Omega_0 n}$$onde $\Omega_0=\frac{2\pi}{N}$ e X[k] sao os coeficientes de Fourier (complexos), $j^2=-1$ e $$e^{j\Box}=\cos(\Box)+j.\sin(\Box)$$. O que o procedimento faz e simples. Voce entrando com o sinal x[n] e o tamanho do periodo ele mostra X[k]. Como X[k] nao e, necessariamente, real, mostramos o |X[k]| (Espetro de Magnitude) e o Arg{X[k]} (Espectro de Fase). Como trabalho de casa (valendo parte da nota da avaliacao seguinte) os alunos deveriam fazer a volta, ou seja, dados os Espetros de Magnitude e de Fase de um sinal, mostrar o sinal x[n].Como mencionado anteriormente e possivel rodar o arquivo *.m tanto no Octave quanto no MATLAB.No Octave (figura anterior) basta clicar no monitor preto entre o botao > e a seta para esquerda azul.e no MATLAB (figura anterior) basta apertar a tecla F5.Em ambos a resposta sera como mostrado nas figuras seguintes, respectivamente, para o Octave e o MATLAB.d O codigo que geral esta saida esta em azul logo a seguir. Naturalmente que % serve para comentar e que, naturalmente, o codigo pode ser melhorado.Como em sala de aula, a volta fica como exercicio e e relativamente facil.Grande abracoLuis Claudio LAclear; N=24; nn=1:N; Omega0=2*pi/N; x=1+sin(nn*pi/12+3*pi/8); Xr=zeros(1,N); Xi=zeros(1,N); EspMag=zeros(1,N); EspFase=zeros(1,N); for k=1:N for n=1:N Xr(k)=Xr(k)+1/N*cos(k*Omega0*n)*x(n); Xi(k)=Xi(k)-1/N*sin(k*Omega0*n)*x(n); end end for k=1:N if abs(Xr(k))<0 .0001="" font=""> Xr(k)=0; end if abs(Xi(k))<0 .0001="" font=""> Xi(k)=0; end end for k=1:N if (Xr(k)>0) EspFase(k)=atan(Xi(k)/Xr(k)); elseif (Xr(k)<0 amp="" i="" k="">0) EspFase(k)=atan(Xi(k)/Xr(k))+pi; elseif (Xr(k)<0 amp="" font="" i="" k=""> EspFase(k)=atan(Xi(k)/Xr(k))-pi; elseif (Xr(k)==0)&&(Xi(k)>0) EspFase(k)=pi/2; elseif (Xr(k)==0)&&(Xi(k)<0 font=""> EspFase(k)=-pi/2; else EspFase(k)=0; end end %stem(EspFase) %Mostra so o Espectro de Fase for k=1:N EspMag(k)=sqrt(Xr(k)^2+Xi(k)^2); end %stem(EspMag) %Mostra so o Espectro de Magnitude %% As quatro linhas seguintes mostram o espectro de magnitude e de fase %% em uma mesma janela Descomente para ver.. %subplot(2,1,1); %stem(EspMag,) %subplot(2,1,2); %stem(EspFase)%Daqui para baixo e um "plus"; eu duplico o tamanho do sinal e peco%para ele plotar duas janelas e mostrar os dois graficos juntos sendo que uma%copia ficara na parte negativa. Assim vemos melhor o resultado.%Criei inicialmente o vetor Xr2 que representa o vetor Xr com o dobro de tamanho%Depois criei inicialmente o vetor Xi2 que representa o vetor Xi com o dobro de tamanho Xr2=zeros(1,2*N); Xi2=zeros(1,2*N); for k=1:N Xr2(k)=EspMag(k); Xi2(k)=EspFase(k); end for k=N+1:2*N Xr2(k)=EspMag(k-N); Xi2(k)=EspFase(k-N); end subplot(2,1,1); stem(-N+1:N,Xr2) subplot(2,1,2); stem(-N+1:N,Xi2)