(实验五利用DFT分析模拟信号频谱)

(实验五利用DFT分析模拟信号频谱)
(实验五利用DFT分析模拟信号频谱)

实验报告

实验课程:数字信号处理实验开课时间:2020—2021 学年秋季学期

实验名称:利用DFT分析模拟信号频谱实验时间: 2020年9月27日星期日

学院:物理与电子信息学院年级:大三班级:182 学号:1843202000234 姓名:武建璋

一、实验预习

【例1.5.1】

已知周期信号x(t)=cos(10*pi*t)+2sin(18*pi*t),计算其频谱。

解:信号基频ω0=2*pi rad/s,周期T=1;最高次谐频为9*ω0=18*pi rad/s,所以N≥(2*9+1=19),程序如下:

%example 1_5_1……

clc,clear,close all

T0 = 1;

N = 19;

T = T0/N;

t = 0:T:T0;

x = cos(2*pi*5*t) +2*sin(2*pi*9*t);

Xm = fft(x,N);

f = (-(N - 1)/2:(N - 1)/2)/N/T;

stem(f,abs(fftshift(Xm)));

xlabel('f(Hz)');

ylabel('f(Magnitube)');

title('幅度谱');

【例1.5.2】

利用DFT近似分析连续信号x(t)=exp(-t)*u(t)的幅度谱并理论值比较。

fsam = 50;

Tp = 6;

N = 512;

T = 1/fsam;

t = 0:T:Tp;

x = exp(-1*t);

X = T*fft(x,N);

subplot(2,1,1);

plot(t,x);

xlabel('t');

title('时域波形');

w = (-N/2:N/2 - 1)*(2*pi/N)*fsam;

y = 1./(j*w+1);

subplot(2,1,2);

plot(w,abs(fftshift(X)),w,abs(y),'r-.');

title('幅度谱');

xlabel('w');

legend('理论值','计算值',0);

axis([-10,10,0,1.4])

实验内容

1. 利用FFT分析信号)

x t-

=的频谱。

u

t

(

e

)

(2t

(1) 确定DFT计算的各参数(抽样间隔,截短长度,频谱分辨率等);

(2) 比较理论值与计算值,分析误差原因,提出改善误差的措施。

% 5_1_1……

clc,clear,close all

T0 = 1;

N = 19;

T = T0/N;

t = 0:T:T0;

x = exp(-2*t)

Xm = fft(x,N);

f = (-(N - 1)/2:(N - 1)/2)/N/T;

stem(f,abs(fftshift(Xm)));

xlabel('f(Hz)');

ylabel('f(Magnitube)');

title('幅度谱');

% 5_1_2……

clc,clear,close all

fsam = 50;

Tp = 6;

N = 512;

T = 1/fsam;

x = exp(-2*t);

X = T*fft(x,N);

subplot(2,1,1);

plot(t,x);

xlabel('t');

title('时域波形');

w = (-N/2:N/2-1)*(2*pi/N)*fsam;

y = 1./(j*w+1);

subplot(2,1,2);

plot(w,abs(fftshift(X)),w,abs(y),'r-. ');

title('幅度谱');

xlabel('W');

legend('理论值','计算值',0);

axis([-10,10,0,1.4]);

2.分析周期信号)

(t

t

)

x+

=频谱时,如果分析长度不为整周期,利用

cos(

t

sin(

18

π

2

)

π

10

fft函数计算并绘出其频谱,总结对周期信号进行频谱分析时,如何选取信号的分析长度。

% 5_2……

clc,clear,close all

T0 = 1.5;%周期不为整数时,如1.5时分析

N = 19;

T = T0/N;

x = cos(2*pi*5*t) +2*sin(2*pi*9*t);

Xm = fft(x,N);

f = (-(N - 1)/2:(N - 1)/2)/N/T;

stem(f,abs(fftshift(Xm)));

xlabel('f(Hz)');

ylabel('f(Magnitube)');

title('幅度谱');

3. 假设一实际测得的一段信号的长度为0.4s,其表达式为x(t)=cos(2p f1t)+0.75 cos(2p f2t)其中f1=100Hz,f2=110Hz。当利用FFT近似分析该信号的频谱时,需要对信号进行时域抽样。试确定一合适抽样频率f sam,利用DFT分析信号x(t)的频谱。若在信号截短时使用Hamming窗,由实验确定能够分辨最小谱峰间隔D f和信号长度T p的关系。若采用不同参数的Kaiser窗,重新确定能够分辨最小谱峰间隔D f和信号长度T p 的关系。

% 5_3……

clc,clear,close all

fsam=440;

Tp=0.4;

N=55;

T=1/fsam;

t=0:T:Tp;

f1=100;f2=110;

x=cos(2*pi*f1*t)+sin(2*pi*f2*t);

Xm=fft(x,N)/N;

f=(-(N-1)/2:(N-1)/2)/N/T;

subplot(2,1,1);

stem(f,abs(fftshift(Xm)));

xlabel('f (Hz)');

ylabel('magnitude');

title('幅度谱 N=440');

fsam=440;

Tp=0.4;

N=55;

T=1/fsam;

t=0:T:Tp;

N=Tp/T+1;

f1=100;f2=110;

y=cos(2*pi*f1*t)+0.75*sin(2*pi*f2*t); w=0.54-0.46*cos(2*pi*t/(N-1));

x=y.*w;

Xm=fft(x,N)/N;

f=(-(N-1)/2:(N-1)/2)/N/T;

subplot(2,1,2);

stem(f,abs(fftshift(Xm)));

xlabel('f (Hz)');

ylabel('magnitude');

二、实验内容

相关主题
相关文档
最新文档