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
3.3。
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:ゼロ充填はフェンス効果を減らすことができますが、周波数分解能はその有効長に関連しているため、周波数分解能を向上させることはできません。ゼロ充填後のサンプリングポイントは多くなりますが、有効長は変わらないため、周波数解像度は変更ではありません。
- 思考の質問。
実際の角周波数ωk= (2π/ N )k、k=0,1,2…N-1