Matlab实验报告书 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称 离散傅里叶变换及其快速算
法 课程名称 数字信号处理
课程号
学院(系) 信息学院 专业 电子信息工程
班级 电子1122
学生姓名 熊祥伟
学号 201211211228 实验地点 钟海楼
实验日期 2015.5.11
11.5.1 实验目的
(1)理解DFT 算法,并能用MATLAB 实现DFT 。
(2)加深对FFT 的理解,体会DFT 和FFT 之间的关系。 (3)熟悉应用FFT 实现两个序列的线性卷积的方法。
11.5.2 实验原理
N 点序列x (n )的DFT 和IDFT 分别定义为
e
e
nk N
j N n nk N
j N k )n (x )k (X )k (X N )n (x ππ21
21
1
--=-=∑∑==
若将DFT 变换的定义写成矩阵形式,则得到X=A*x ,其中DFT 变换矩阵A 为
()⎪⎪⎪⎪⎪
⎭
⎫
⎝
⎛=---W W
W W N N N N
N N N
............
.........
A 21111111
11 可以用函数U=fft (u ,N )和uifft (U,N )计算N 点序列的DFT 正反变换。
成绩 指导教师
日期
实验名称 离散傅里叶变换及其快速算
法 课程名称 数字信号处理
课程号
学院(系) 信息学院 专业 电子信息工程
班级 电子1122
学生姓名 熊祥伟
学号 201211211228 实验地点 钟海楼
实验日期 2015.5.11
11.5.2 实验内容
1.离散傅里叶变换
(1)用MATLAB 求N=16的有限序列)n sin()n sin()n (x 48ππ+=的DFT 结果并画结果图
N=16;
n=0:1:N-1;
xn=sin(n*pi/8)+sin(n*pi/4); k=0:1:N-1;
WN=exp(-j*2*pi/N); nk=n'*k;
WNnk=WN.^nk; Xk=xn*WNnk; subplot(2,1,1) stem(n,xn); subplot(2,1,2) stem(k,abs(Xk));
成绩 指导教师
日期
学
实验名称
离散傅里叶变换及其快速算
法
课程名称数字信号处理课程号
学院(系) 信息学院专业电子信息工程班级电子1122
学生姓名熊祥伟学号201211211228 实验地点钟海楼实验日期2015.5.11
(2)矩阵序列(n)=R5(n),求N分别取8,32时的DFT,最后会出结果图形。
function[Xk]=dft(xn,N)
n=[0:1:N-1];
k=[0:1:N-1];
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN.^nk;
Xk=xn*WNnk;
调用上面函数解题
N=8;
x=[ones(1,5),zeros(1,N-5)];
n=0:N-1;
X=dft(x,N);
magX=abs(X); phaX=angle(X)*180/pi;
k=(0:length(magX)'-1);
subplot(2,2,1); stem(n,x); ylabel('x(n)');
subplot(2,2,2); stem(k,magX); axis([0,10,0,5]); ylabel('|X(k)|');
N=32; x=[ones(1,5),zeros(1,N-5)];
n=0:N-1;
X=dft(x,N);
magX=abs(X); phaX=angle(X)*180/pi;
k=(0:length(magX)'-1)*N/length(magX);
subplot(2,2,3); stem(n,x); ylabel('x(n)');
subplot(2,2,4); stem(k,magX); axis([0,32,0,5]); ylabel('|X(k)|');
实验名称 离散傅里叶变换及其快速算
法 课程名称 数字信号处理
课程号
学院(系) 信息学院 专业 电子信息工程
班级 电子1122
学生姓名 熊祥伟
学号 201211211228 实验地点 钟海楼
实验日期 2015.5.11
x (n )
|X (k )|
x (n )
|X (k )|
2.快速傅里叶变换
(1)已知一个8点的时域非周期离散阶跃信号,其起点n1=0,终点在呢=7,在n0=4前为0,n0以后为1,用N=32点进行FFT 变换,做其时域信号图及其信号频谱图。 n1=0;n0=4;n2=7;N=32; n=n1:n2;
w=[(n-n0)>=0];
subplot(2,1,1); stem(n,w); i=0:N-1; y=fft(w,N); aw=abs(y);
subplot(2,1,2); stem(i,aw);
成绩 指导教师
日期