南昌大学信号与系统实验课程4傅里叶变换

更新时间:2023-10-30 19:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

南昌大学实验报告

傅里叶变换

学生姓名: 学 号: 班级: 实验类型:□ 验证 □ 综合 ■ 设计 □ 创新 实验日期: 2011-04-23 实验成绩:

(一)实验目的

1?1|t|??2 的波形(t?[-1,1])和频谱F(?)(??[-8pi,1,请绘制矩形脉冲f(t)???0其他?8pi]),并利用你计算得到的频谱恢复时域信号fs(t),比较和原函数f(t)的差别。 2,绘制周期T1=1、幅度E=1的对称方波的前10项傅里叶的系数(三角函数形式),并用前5项恢复原信号。

3,根据锯齿波信号,分别取一个周期的抽样数据x1(w),0<=t<5,计算其傅里叶变换x1(w)和x(w),比较有何不同并解释原因。

(二)实验内容

1,根据函数编写matlab程序,从而实现其功能,程序函数及说明如下:

T=2; %定义时域抽样区间长度 N=200; %定义时域抽样点数 t=linspace(-T/2,T/2-T/N,N); %定义时域抽样点 f=0*t; %初始化时域信号 f(t>-1/2&t<1/2)=1; %为时域信号赋值

OMG=16*pi; %定义频域抽样区间长度 K=100; %定义频域抽样点数 omg=linspace(-OMG/2,OMG/2-OMG/K,K); %定义频域抽样点 F=0*omg; %初始化频谱

for k=1:K %循环计算每个频谱抽样点的频谱 for n=1:N %循环实现求和运算功能 F(k)=F(k)+T/N*f(n)*exp(-j*omg(k)*t(n)); end end

fs=0*t; %初始化合成信号

for n=1:N %循环计算每个时域抽样点的合成信号 for k=1:K %循环实现求和运算功能 fs(n)=fs(n)+OMG/2/pi/K*F(k)*exp(j*omg(k)*t(n));

End

1

南昌大学实验报告

学生姓名: 学 号: 班级: 实验类型:□ 验证 □ 综合 ■ 设计 □ 创新 实验日期: 2011-04-23 实验成绩: end

subplot(1,2,1) %绘制输出图形 plot(t,f,t,fs) subplot(1,2,2) plot(omg,F)

根据上述函数得到之后的波形图及对应的频谱图:

2,根据函数编写matlab程序,从而实现其功能,程序函数及说明如下:

E=1;%定义方波幅度 T1=1;%定义方波周期

omg1=2*pi/T1;%定义基波 N=1000;%定义时域抽样点数

t=linspace(-T1/2,T1/2-T1/N,N)';%生成时域抽样点 f=0*t;%初始化时域信号 f(:)=-E/2;

f(t>-T1/4&t

k1=-10; %确定系数的起始下标 k2=10;

k=[k1:k2]'; %生成系数下标系列

F=1/N*exp(-j*kron(k*omg1,t.'))*f; %求指数形式傅里叶级数的系数 a0=F(11); %转换到三角函数形式的系数 ak=F(12:21)+F(10:-1:1);

f1=cos(kron(t,[0:1]*omg1))*[a0;ak(1:1)];

2

南昌大学实验报告

学生姓名: 学 号: 班级: 实验类型:□ 验证 □ 综合 ■ 设计 □ 创新 实验日期: 2011-04-23 实验成绩: f3=cos(kron(t,[0:3]*omg1))*[a0;ak(1:3)];

fs=cos(kron(t,[0:5]*omg1))*[a0;ak(1:5)]; %用前五个系数合成原函数 figure;

subplot(1,2,1);

plot(t,f,t,f1,t,f3,t,fs); %绘制图形 subplot(1,2,2);

stem(ak,'k') %绘制杆图形式曲线

根据上述函数得到之后的波形图及对应的频谱图:

3,根据函数编写matlab程序,计算和比较不同周期下的傅里叶变换差别。 首先通过编程显示锯齿波图形如下图所示:

t1=[0:0.001:1];

x1=sawtooth(t1*2*pi,0); t=[0:0.001:5];

x=sawtooth(t*2*pi,0); subplot(2,2,1) plot(t1,x1) subplot(2,2,2) plot(t,x)

3

南昌大学实验报告

学生姓名: 学 号: 班级: 实验类型:□ 验证 □ 综合 ■ 设计 □ 创新 实验日期: 2011-04-23 实验成绩:

得到锯齿波波形之后再次使用傅里叶matlab函数来计算其值,详细函数得知:

T=1; %定义时域抽样区间长度 N=200; %定义时域抽样点数 t=linspace(0,T-T/N,N)'; %定义时域抽样点 f=0*t; %初始化时域信号 f=sawtooth(t*2*pi,0); %锯齿波函数定义

OMG=16*pi; %定义频域抽样区间长度 K=100; %定义频域抽样点数 omg=linspace(-OMG/2,OMG/2-OMG/K,K)'; %定义频域抽样点 F=0*omg; %初始化频域

for k=1:K %循环计算每个频域抽样点的频谱 for n=1:N %循环实现求和运算 F(k)=F(k)+T/N*f(n)*exp(-j*omg(k)*t(n)); end end

fs=0*t; %初始化合成信号

for n=1:N %循环计算每个时域抽样点的合成信号

for k=1:K %循环实现求和运算 fs(n)=fs(n)+OMG/2/pi/K*F(k)*exp(j*omg(k)*t(n)); end end

subplot(1,2,1); %绘制图形 plot(t,fs,'r',t,f,'b'); subplot(1,2,2);

4

plot(omg,F,'g');

南昌大学实验报告

学生姓名: 学 号: 班级: 实验类型:□ 验证 □ 综合 ■ 设计 □ 创新 实验日期: 2011-04-23 实验成绩:

图形显示如下:

以上为一个周期的锯齿波傅里叶变换,之后将五个周期的锯齿波傅里叶变换进行编程计算。

T=1; %定义时域抽样区间长度 N=200; %定义时域抽样点数 t=linspace(0,5*(T-T/N),N)'; %定义时域抽样点 f=0*t; %初始化时域信号 f=sawtooth(t*2*pi,0); %锯齿波函数定义

OMG=16*pi; %定义频域抽样区间长度 K=100; %定义频域抽样点数 omg=linspace(-OMG/2,OMG/2-OMG/K,K)'; %定义频域抽样点 F=0*omg; %初始化频域

for k=1:K %循环计算每个频域抽样点的频谱 for n=1:N %循环实现求和运算 F(k)=F(k)+T/N*f(n)*exp(-j*omg(k)*t(n)); end end

fs=0*t; %初始化合成信号

for n=1:N %循环计算每个时域抽样点的合成信号

for k=1:K %循环实现求和运算 fs(n)=fs(n)+OMG/2/pi/K*F(k)*exp(j*omg(k)*t(n)); end

5

end

subplot(1,2,1); %绘制图形

南昌大学实验报告

学生姓名: 学 号: 班级: 实验类型:□ 验证 □ 综合 ■ 设计 □ 创新 实验日期: 2011-04-23 实验成绩: plot(t,fs,'r',t,f,'b'); subplot(1,2,2); plot(omg,F,'g');

阅读两函数后不难发现,其实就是改变了linspace的范围。

t=linspace(0,T-T/N,N)'; t=linspace(0,5*(T-T/N),N)'; 改变后的图形显示如下:

(三)实验小结

这次实验过程中,通过函数的编写来熟悉matlab和傅里叶函数的使用,并对于不同函数、不同参数的图像比较,满足对抽样数据的傅里叶分析要求。要学会通过一个函数编程能够推导出其他函数傅里叶变换的编程使用,这样才能更好的培养自学能力,也对实验有了更深刻的了解。还有关键的一点就是要注意细节,所谓细节决定成败,在做每句语句的时候都要注意要求,这样才能更好的达到实验目的。

6

end

subplot(1,2,1); %绘制图形

南昌大学实验报告

学生姓名: 学 号: 班级: 实验类型:□ 验证 □ 综合 ■ 设计 □ 创新 实验日期: 2011-04-23 实验成绩: plot(t,fs,'r',t,f,'b'); subplot(1,2,2); plot(omg,F,'g');

阅读两函数后不难发现,其实就是改变了linspace的范围。

t=linspace(0,T-T/N,N)'; t=linspace(0,5*(T-T/N),N)'; 改变后的图形显示如下:

(三)实验小结

这次实验过程中,通过函数的编写来熟悉matlab和傅里叶函数的使用,并对于不同函数、不同参数的图像比较,满足对抽样数据的傅里叶分析要求。要学会通过一个函数编程能够推导出其他函数傅里叶变换的编程使用,这样才能更好的培养自学能力,也对实验有了更深刻的了解。还有关键的一点就是要注意细节,所谓细节决定成败,在做每句语句的时候都要注意要求,这样才能更好的达到实验目的。

6

本文来源:https://www.bwwdw.com/article/xwi2.html

Top