matlab实现连续或离散信号的傅里叶变化演示系统.docx
- 文档编号:12542408
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:12
- 大小:2.36MB
matlab实现连续或离散信号的傅里叶变化演示系统.docx
《matlab实现连续或离散信号的傅里叶变化演示系统.docx》由会员分享,可在线阅读,更多相关《matlab实现连续或离散信号的傅里叶变化演示系统.docx(12页珍藏版)》请在冰豆网上搜索。
matlab实现连续或离散信号的傅里叶变化演示系统
MATLAB课程设计报告
连续或离散信号的傅里叶变化演示系统
学号
姓名:
班级:
指导老师:
连续或离散信号的傅里叶变化演示系统
一、课程设计的意义
通常在开发一个实际的应用程序时都会尽量做到界面友好,最常用的方法就是使用图形界面,而Matlab是一门面向对象的语言。
提供图形用户界面的应用程序能够使用的学习和使用更为方便容易。
用户不需要知道应用程序究竟是怎样执行各种命令的,而只需要了解可见界面组件的使用方法;用户也不需要知道命令是怎样执行的,只要通过与界面交互就可以是指定的行为得以正确执行,这比用在DOS环境下运行的程序交互性友好。
在Matlab中,图形用户界面是一种包含多种对象的图形窗口。
用户必须对每一种对象进行界面布局和编程,从而使用户激活GUI每个对象时都能够执行相应的行为。
另外,用户必须保存和发布所创建的GUI,使得GUI能够真正地得到应用。
二、设计要求
基于MATLAB语言,建立一个连续或离散信号的傅立叶变换演示系统运算系统。
理解傅立叶变换的性质并用MATLAB进行验证。
三、傅里叶变化的意义
傅里叶原理表明:
任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。
根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率、振幅和相位。
从现代数学的眼光来看,傅里叶变换是一种特殊的积分变换。
它能将满足一定条件的某个函数表示成正弦基函数的线性组合或者积分。
在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。
四,设计过程
(一)第一层GUI界面
(二)第二层GUI界面设计
1、离散傅里叶变化
(1)实例1是音频的傅里叶变化
当N分别为3、5、7的结果:
(3)实例3IDFT的计算
IDFT就是InverseDiscreteFourierTransform离散傅里叶逆变换。
在GUI窗口句柄中输入随机数14后的结果:
2、连续信号的傅里叶变化
(1)实例1运行结果
(2)实例2
H(s)=S+4/S^3+3S^2+2S这个连续系统的傅里叶变化。
五、在M文件中添加的程序
1、离散傅里叶变化
(1)
[y,Fs,bits]=wavread('a.wav');
y=y(:
1);
sound(y,Fs,bits);
figure,plot(abs(fft(y)));title('¸µÀïÒ¶±ä»¯µÄƵÆ×ͼ');
figure,plot(y);title('¸µÀïÒ¶±ä»¯µÄʱÓòͼ');
(2)
N=str2num(get(handles.edit1,'string'));
k=-N:
N;
y1=ones([1,2*N+1]);
y2=y1-abs(k)/N;
w=0:
2*pi/255:
2*pi;
Y2=freqz(y2,1,w);
Y2dft=fft(y2);
k=0:
1:
2*N;
figure()
plot(w/pi,abs(Y2),k*2/(2*N+1),abs(Y2dft),'o');
xlabel('Normalizedfrequency');ylabel('Amplitude');
(3)
K=str2num(get(handles.edit1,'string'));
N=str2num(get(handles.edit2,'string'));
k=1:
K;
U=(k-1)/K;
u=ifft(U,N);
figure()
subplot
k=1:
K;
stem(k-1,U)
xlabel('Frequencyindexk');ylabel('Amplitude')
title('ÔʼDFTÑùÆ·')
figure()
subplot(2,1,1)
n=0:
1:
N-1;
stem(n,real(u))
title('ÕæÕýµÄ²¿·ÖʱÓòÑù±¾')
xlabel('Timeindexn');ylabel('Amplitude')
subplot(2,1,2)
stem(n,imag(u))
title('Ð鲿µÄʱÓòÑù±¾')
xlabel('Timeindexn');ylabel('Amplitude')
2、连续信号的傅里叶变化
(1)
t=0:
0.1:
40;
k=100;
fori=-k:
k
a(i+k+1)=sin(i*pi/2)/(i*pi);
a(k+1)=0.5;
x(i+k+1,:
)=a(i+k+1)*exp(j*i*(t+1)*pi/2);
end
x=sum(x)
figure()
plot(t,x)
(2)
num=[10];%·Ö×Ó
den=[1320];%·Öĸ
figure
(1)
nyquist(num,den);%ÄÎʽÇúÏß
figure
(2)
bode(num,den);%²®µÂͼ
六、设计感想
通过matlab实践作业的完成,对已经熟悉的matlab基本知识又做了一次巩固复习,同时在此基础上又有了进一步的理解和应用能力的提高;由于实践要求的难度高于课本和平时的练习,督促我们查阅资料和相关教材,使得自身对于这一个软件的使用和驾驭能力有了一个全新的提高;随着实践作业完成及其深入,我对信号系统的也逐步加深,对信号基本运算系统的基本理论知识及其在实际应用中的作用和意义有了更进一步的深入了解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 实现 连续 离散 信号 傅里叶 变化 演示 系统