하나의 푸리에 변환 시퀀스와 이산 푸리에 변환 및 이들의 관계를 실험합니다.

1. 실험의 목적과 원리를 간략하게 설명합니다.

목적:

1) 순차 푸리에 변환 DTFT의 컴퓨터 구현 방법을 마스터합니다.

2) 시퀀스 DFT의 기본 이론과 컴퓨터 구현 방법을 마스터합니다.

3) 순차 푸리에 변환 DTFT와 순차 DFT 간의 관계를 마스터합니다.

4) 의 중앙값과 실제 각주파수 사이의 대응 관계를 이해합니다.

실험 내용이 실현됩니다.

1.DTFT :

function [Xk]=dft(xn, N)

l=length(xn);

if l<N

    xn=[xn,zeros(1,N-l)];

end

Xk=zeros(1,N);

k=zeros(1,N);

for i=1:N

    k(i)=i-1;

end

for i=1:N

    Xk=Xk+xn(i)*exp(-j*2*pi/N*(i-1)*k);

End

2.DFT :

function [Xk]=dft(xn, N)

l=length(xn);

if l<N

    xn=[xn,zeros(1,N-l)];

end

Xk=zeros(1,N);

k=zeros(1,N);

for i=1:N

    k(i)=i-1;

end

for i=1:N

    Xk=Xk+xn(i)*exp(-j*2*pi/N*(i-1)*k);

End

삼.

clc,clear,close all

xn=[1,1,1,1];

M=1000;

k=0:1:M-1;

w=6*pi/M*k;

Xejw=dtft(xn,w);

% subplot(511);

plot(w/pi,abs(Xejw));

ylabel('X(ejw)');

xlabel('\omega/\pi');

4.1

clc,clear,close all

xn=[1,1,1,1];

M=1000;

k=0:1:M-1;

x1=[xn,zeros(1,28)];

w1=2*pi/1000*k;

X=dtft(xn,w1);

subplot(211);

plot(w1/pi,abs(X));

ylabel('X');

subplot(212);

X1=dtft(x1,w1);

plot(w1/pi,abs(X1));

ylabel('X1');

xlabel('\omega/\pi');

4.2

clc,clear,close all

xn=[1,1,1,1];

M=4;

k=0:1:M-1;

Xk1=dft(xn,M);

subplot(211);

stem(2/M*k,abs(Xk1));

ylabel('Xk1');



M=32;

k=0:1:M-1;

Xk2=dft(xn,M);

subplot(212);

stem(2/M*k,abs(Xk2));

xlabel('\omega/\pi');

ylabel('Xk2');

  • 실험 결과

결론 1: 시간 영역이 유한하면 주파수 영역에서 무한하고 시간 영역이 이산적이면 주파수 영역은 주기적 확장을 생성합니다.

결론 2: 제로 패딩이 시퀀스의 DTFT에 영향을 미치지 않는지 여부는 동일합니다.

결론 3: Zero-filling은 Fence 효과를 감소시킬 수 있지만 주파수 분해능은 유효 길이와 관련이 있기 때문에 주파수 분해능을 향상시킬 수 없습니다 Zero-filling 후 더 많은 샘플링 포인트가 있지만 유효 길이는 변경되지 않으므로 주파수 해상도는 변경이 아닙니다.

  • 생각하는 질문.

실제 각주파수 ωk= ( 2π/N ) k ,k=0,1,2…N-1

추천

출처blog.csdn.net/yyfloveqcw/article/details/124128499