数字信号处理实验课后答案
数字信号处理实验课后答案
【篇一:数字信号处理第三版课后实验程序(高西全)】txt>close all;clear all
%======内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性====== a=[1,-0.9];b=[0.05,0.05]; %系统差分方程系数向量b和a
x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=r8(n)
x2n=ones(1,128); %产生信号x2(n)=u(n)
hn=impz(b,a,58); %求系统单位脉冲响应h(n)
subplot(2,2,1);y=h(n);tstem(hn,y); %调用函数tstem绘图
title((a) 系统单位脉冲响应h(n));box on
y1n=filter(b,a,x1n); %求系统对x1(n)的响应y1(n)
subplot(2,2,2);y=y1(n);tstem(y1n,y);
title((b) 系统对r8(n)的响应y1(n));box on
y2n=filter(b,a,x2n); %求系统对x2(n)的响应y2(n)
subplot(2,2,4);y=y2(n);tstem(y2n,y);
title((c) 系统对u(n)的响应y2(n));box on
%===内容2:调用conv函数计算卷积
============================ x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=r8(n)
h1n=[ones(1,10) zeros(1,10)];
h2n=[1 2.5 2.5 1 zeros(1,10)];
y21n=conv(h1n,x1n);
y22n=conv(h2n,x1n);
figure(2)
subplot(2,2,1);y=h1(n);tstem(h1n,y); %调用函数tstem绘图
title((d) 系统单位脉冲响应h1(n));box on
subplot(2,2,2);y=y21(n);tstem(y21n,y);
title((e) h1(n)与r8(n)的卷积y21(n));box on
subplot(2,2,3);y=h2(n);tstem(h2n,y); %调用函数tstem绘图
title((f) 系统单位脉冲响应h2(n));box on
subplot(2,2,4);y=y22(n);tstem(y22n,y);
title((g) h2(n)与r8(n)的卷积y22(n));box on
%=========内容3:谐振器分析======================== un=ones(1,256); %产生信号u(n)
n=0:255;
xsin=sin(0.014*n)+sin(0.4*n); %产生正弦信号
a=[1,-1.8237,0.9801];b=[1/100.49,0,-1/100.49]; %系统差分方程系
数向量b和a y31n=filter(b,a,un); %谐振器对u(n)的响应y31(n)
y32n=filter(b,a,xsin); %谐振器对u(n)的响应y31(n)
figure(3)
subplot(2,1,1);y=y31(n);tstem(y31n,y);
title((h) 谐振器对u(n)的响应y31(n));box on
subplot(2,1,2);y=y32(n);tstem(y32n,y);
title((i) 谐振器对正弦信号的响应y32(n));box on
10.2.2 实验程序清单
1 时域采样理论的验证程序清单
% 时域采样理论验证程序exp2a.m
tp=64/1000; %观察时间tp=64微秒
%产生m长采样序列x(n)
% fs=1000;t=1/fs;
fs=1000;t=1/fs;
m=tp*fs;n=0:m-1;
a=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5;
xnt=a*exp(-alph*n*t).*sin(omega*n*t);
xk=t*fft(xnt,m); %m点fft[xnt)]
yn=xa(nt);subplot(3,2,1);
tstem(xnt,yn); %调用自编绘图函数tstem绘制序列图
box on;title((a) fs=1000hz);
k=0:m-1;fk=k/tp;
subplot(3,2,2);plot(fk,abs(xk));title((a) t*ft[xa(nt)],fs=1000hz);
xlabel(f(hz));ylabel(幅度);axis([0,fs,0,1.2*max(abs(xk))])
%================================================= % fs=300hz和 fs=200hz的程序与上面fs=1000hz完全相同。
2 频域采样理论的验证程序清单
%频域采样理论验证程序exp2b.m
m=27;n=32;n=0:m;
%产生m长三角波序列x(n)
xa=0:floor(m/2); xb= ceil(m/2)-1:-1:0; xn=[xa,xb];
xk=fft(xn,1024); %1024点fft[x(n)], 用于近似序列x(n)的tf
x32k=fft(xn,32) ;%32点fft[x(n)]
x32n=ifft(x32k); %32点ifft[x32(k)]得到x32(n)
x16k=x32k(1:2:n); %隔点抽取x32k得到x16(k)
x16n=ifft(x16k,n/2); %16点ifft[x16(k)]得到x16(n)
subplot(3,2,2);stem(n,xn,.);box on
title((b) 三角波序列x(n));xlabel(n);ylabel(x(n));axis([0,32,0,20]) k=0:1023;wk=2*k/1024; %
subplot(3,2,1);plot(wk,abs(xk));title((a)ft[x(n)]);
xlabel(\omega/\pi);ylabel(|x(e^j^\omega)|);axis([0,1,0,200])
k=0:n/2-1;
subplot(3,2,3);stem(k,abs(x16k),.);box on
title((c) 16点频域采
样);xlabel(k);ylabel(|x_1_6(k)|);axis([0,8,0,200]) n1=0:n/2-1;
subplot(3,2,4);stem(n1,x16n,.);box on
title((d) 16点
idft[x_1_6(k)]);xlabel(n);ylabel(x_1_6(n));axis([0,32,0,20]) k=0:n-1;
subplot(3,2,5);stem(k,abs(x32k),.);box on
title((e) 32点频域采
样);xlabel(k);ylabel(|x_3_2(k)|);axis([0,16,0,200]) n1=0:n-1;
subplot(3,2,6);stem(n1,x32n,.);box on
title((f) 32点
idft[x_3_2(k)]);xlabel(n);ylabel(x_3_2(n));axis([0,32,0,20])
10.3.2 实验程序清单
%第10章实验3程序exp3.m
% 用fft对信号作频谱分析
clear all;close all
%实验内容
(1)================================================= == x1n=[ones(1,4)]; %产生序列向量x1(n)=r4(n)
m=8;xa=1:(m/2); xb=(m/2):-1:1; x2n=[xa,xb]; %产生长度为8的三角波序列x2(n) x3n=[xb,xa];
x1k8=fft(x1n,8); %计算x1n的8点dft
x1k16=fft(x1n,16);%计算x1n的16点dft
x2k8=fft(x2n,8); %计算x1n的8点dft
x2k16=fft(x2n,16); %计算x1n的16点dft
x3k8=fft(x3n,8); %计算x1n的8点dft
x3k16=fft(x3n,16); %计算x1n的16点dft
%以下绘制幅频特性曲线
subplot(2,2,1);mstem(x1k8); %绘制8点dft的幅频特性图 axis([0,2,0,1.2*max(abs(x1k8))])
subplot(2,2,3);mstem(x1k16); %绘制16点dft的幅频特性图 axis([0,2,0,1.2*max(abs(x1k16))])
figure(2)
subplot(2,2,1);mstem(x2k8); %绘制8点dft的幅频特性图 axis([0,2,0,1.2*max(abs(x2k8))])
subplot(2,2,2);mstem(x2k16); %绘制16点dft的幅频特性图 axis([0,2,0,1.2*max(abs(x2k16))])
subplot(2,2,3);mstem(x3k8); %绘制8点dft的幅频特性图 axis([0,2,0,1.2*max(abs(x3k8))])
subplot(2,2,4);mstem(x3k16); %绘制16点dft的幅频特性图 axis([0,2,0,1.2*max(abs(x3k16))])
%实验内容(2) 周期序列谱分析
==================================
n=8;n=0:n-1; %fft的变换区间n=8
x4n=cos(pi*n/4);
x5n=cos(pi*n/4)+cos(pi*n/8);
x4k8=fft(x4n); %计算x4n的8点dft
x5k8=fft(x5n); %计算x5n的8点dft
n=16;n=0:n-1; %fft的变换区间n=16
x4n=cos(pi*n/4);
x5n=cos(pi*n/4)+cos(pi*n/8);
x4k16=fft(x4n);%计算x4n的16点dft
x5k16=fft(x5n);%计算x5n的16点dft
figure(3)
subplot(2,2,1);mstem(x4k8); %绘制8点dft的幅频特性图 axis([0,2,0,1.2*max(abs(x4k8))])
subplot(2,2,3);mstem(x4k16); %绘制16点dft的幅频特性图 axis([0,2,0,1.2*max(abs(x4k16))])
subplot(2,2,2);mstem(x5k8); %绘制8点dft的幅频特性图 axis([0,2,0,1.2*max(abs(x5k8))])
subplot(2,2,4);mstem(x5k16); %绘制16点dft的幅频特性图 axis([0,2,0,1.2*max(abs(x5k16))])
%实验内容(3) 模拟周期信号谱分析
===============================
figure(4)
fs=64;t=1/fs;
n=16;n=0:n-1; %fft的变换区间n=16
x6nt=cos(8*pi*n*t)+cos(16*pi*n*t)+cos(20*pi*n*t);%对x6(t)16点采样
x6k16=fft(x6nt);%计算x6nt的16点dft
x6k16=fftshift(x6k16);%将零频率移到频谱中心
tp=n*t;f=1/tp;%频率分辨率f
k=-n/2:n/2-1;fk=k*f; %产生16点dft对应的采样点频率(以零频率为中心) subplot(3,1,1);stem(fk,abs(x6k16),.);box on %绘制8点dft的幅频特性图
title((6a) 16点|dft[x_6(nt)]|);xlabel(f(hz));ylabel(幅度);
axis([-n*f/2-1,n*f/2-1,0,1.2*max(abs(x6k16))])
n=32;n=0:n-1; %fft的变换区间n=16
x6nt=cos(8*pi*n*t)+cos(16*pi*n*t)+cos(20*pi*n*t);%对x6(t)32点采样
x6k32=fft(x6nt);%计算x6nt的32点dft
x6k32=fftshift(x6k32);%将零频率移到频谱中心
tp=n*t;f=1/tp;%频率分辨率f
k=-n/2:n/2-1;fk=k*f; %产生16点dft对应的采样点频率(以零频率为中心) subplot(3,1,2);stem(fk,abs(x6k32),.);box on %绘制8点dft的幅频特性图
title((6b) 32点|dft[x_6(nt)]|);xlabel(f(hz));ylabel(幅度);
axis([-n*f/2-1,n*f/2-1,0,1.2*max(abs(x6k32))])
n=64;n=0:n-1; %fft的变换区间n=16
x6nt=cos(8*pi*n*t)+cos(16*pi*n*t)+cos(20*pi*n*t);%对x6(t)64点采样
x6k64=fft(x6nt);%计算x6nt的64点dft
x6k64=fftshift(x6k64);%将零频率移到频谱中心
tp=n*t;f=1/tp;%频率分辨率f
k=-n/2:n/2-1;fk=k*f; %产生16点dft对应的采样点频率(以零频率为中心) subplot(3,1,3);stem(fk,abs(x6k64),.); box on%绘制8点dft的幅频特性图
title((6a) 64点|dft[x_6(nt)]|);xlabel(f(hz));ylabel(幅度);
axis([-n*f/2-1,n*f/2-1,0,1.2*max(abs(x6k64))])
%实验4程序exp4.m
% iir数字滤波器设计及软件实现
clear all;close all
fs=10000;t=1/fs;%采样频率
%调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成
的复合信号st
st=mstg;
%低通滤波器设计与实现
=========================================
fp=280;fs=450;
wp=2*fp/fs;ws=2*fs/fs;rp=0.1;rs=60;%df指标(低通滤波器的通、阻带边界频)
[n,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆df阶数n
和通带截止频率wp
[b,a]=ellip(n,rp,rs,wp);%调用ellip计算椭圆带通df系统函数系数
向量b和a y1t=filter(b,a,st); %滤波器软件实现
% 低通滤波器设计与实现绘图部分
figure(2);subplot(3,1,1);
myplot(b,a); %调用绘图函数myplot绘制损耗函数曲线
yt=y_1(t);
subplot(3,1,2);tplot(y1t,t,yt); %调用绘图函数tplot绘制滤波器输
出波形
%带通滤波器设计与实现
===================================================
= fpl=440;fpu=560;fsl=275;fsu=900;
wp=[2*fpl/fs,2*fpu/fs];ws=[2*fsl/fs,2*fsu/fs];rp=0.1;rs=60;
[n,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆df阶数n
和通带截止频率wp
[b,a]=ellip(n,rp,rs,wp); %调用ellip计算椭圆带通df系统函数系数
向量b和a y2t=filter(b,a,st); %滤波器软件实现
% 带通滤波器设计与实现绘图部分(省略)
%高通滤波器设计与实现
================================================
fp=890;fs=600;
wp=2*fp/fs;ws=2*fs/fs;rp=0.1;rs=60;%df指标(低通滤波器的通、阻带边界频)
[n,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆df阶数n
和通带截止频率wp
[b,a]=ellip(n,rp,rs,wp,high); %调用ellip计算椭圆带通df系统函
数系数向量b和a y3t=filter(b,a,st); %滤波器软件实现
% 高低通滤波器设计与实现绘图部分(省略)
【篇二:数字信号处理实验答案】
txt>一、实验目的
1. 熟悉matlab的主要操作命令。
2. 学会简单的矩阵输入和数据读写。
3. 掌握简单的绘图命令。
4. 用matlab编程并学会创建函数。
5. 观察离散系统的频率响应。
二、实验内容
认真阅读本章附录,在matlab环境下重新做一遍附录中的例子,
体会各条命令的含义。在熟悉了matlab基本命令的基础上,完成以下实验。
上机实验内容:
(1)数组的加、减、乘、除和乘方运算。输入a=[1 2 3 4],b=[3 4 5 6],求c=a+b,d=a-b,e=a.*b,f=a./b,g=a.^b并用stem语句画出a、b、c、d、e、f、g。
clear all;
a=[1 2 3 4];
b=[3 4 5 6];
c=a+b;
d=a-b;
e=a.*b;
f=a./b;
g=a.^b;
n=1:4;
subplot(4,2,1);stem(n,a);
xlabel(n);xlim([0 5]);ylabel(a);
subplot(4,2,2);stem(n,b);
xlabel(n);xlim([0 5]);ylabel(b);
subplot(4,2,3);stem(n,c);
xlabel(n);xlim([0 5]);ylabel(c);
subplot(4,2,4);stem(n,d);
xlabel(n);xlim([0 5]);ylabel(d);
subplot(4,2,5);stem(n,e);
xlabel(n);xlim([0 5]);ylabel(e);
subplot(4,2,6);stem(n,f);
xlabel(n);xlim([0 5]);ylabel(f);
subplot(4,2,7);stem(n,g);
xlabel(n);xlim([0 5]);ylabel(g);
(2)用matlab实现下列序列:
a) x(n)=0.8n 0≤n≤15
b) x(n)=e(0.2+3j)n 0≤n≤15
d) 将c)中的x(n)扩展为以16为周期的函数x16(n)=x(n+16),绘出四个周期。
e) 将c)中的x(n)扩展为以10为周期的函数x10(n)=x(n+10),绘出四个周期。
clear all;
n=0:15;
% a) x(n)=0.8n 0≤n≤15
xa=0.8.^n;
figure;subplot(2,1,1);stem(n,xa); xlabel(n);xlim([0
16]);ylabel(xa);
% b) x(n)=e(0.2+3j)n 0≤n≤15
xb=exp((0.2+3*j)*n);
subplot(2,1,2);stem(n,xb);
xlabel(n);xlim([0 16]);ylabel(xb);figure;
xc=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi);
subplot(3,1,1);stem(n,xc);xlabel(n);xlim([0 16]);ylabel(xc);
% d) 将c)中的x(n)扩展为以16为周期的函数x16(n)=x(n+16),绘出四个周期。
k=0:3;m=0;
for i=1:4
for j=1:16
m=m+1;
n(m)=n(j)+16*k(i);
x16(m)=3*cos(0.125*pi*n(m)+0.2*pi)+2*sin(0.25*pi*n(m)+0.1*pi); end
end
subplot(3,1,2);stem(n,x16);xlabel(n);ylabel(x16);
% e) 将c)中的x(n)扩展为以10为周期的函数x10(n)=x(n+10),绘出四个周期。
for j=1:10
x10(j)=x16(j);
end
for i=1:3
for m=1:10
x10(i*10+m)=x10(m);
end
end
n=1:40;
subplot(3,1,3);stem(n,x10);
xlabel(n);ylabel(x10);
(3)x(n)=[1,-1,3,5],产生并绘出下列序列的样本:
a) x1(n)=2x(n+2)-x(n-1)-2x(n)
b) x2(n)??nx(n?k)
k?15
clear all
n=1:4;
t=4;
x=[1 -1 3 5];
x(5:8)=x(1:4);
subplot(2,1,1);stem(1:8,x);grid;
for i=1:4
if i-10
x1(i)=2*x(i+2)-x(i-1)-2*x(i);
else
x1(i)=2*x(i+2)-x(i-1+t)-2*x(i);
end
end
x1(5:8)=x1(1:4);
subplot(2,1,2);stem(1:8,x1);grid;
ta=0:0.05:10;
xa=sin(2*pi*ta);
subplot(2,1,1);plot(ta,xa);
xlabel(t);ylabel(幅度);
tb=0:0.01:4;
xb=cos(100*pi*tb).*sin(pi*tb);
subplot(2,1,2);plot(tb,xb);
xlabel(t);ylabel(幅度);
(5)编写函数stepshift(n0,n1,n2)实现u(n-n0),n1n0n2,绘出该函数的图形,起点为n1,
终点为n2。
n0=5;ns=1;nf=10;%ns为起点;nf为终点;在=n=n0处生成单位阶跃序列
n=[ns:nf];
x=[(n-n0)=0];
stem(n,x);
-1 (6)给一定因果系统h(z)?(1?2z-1?1)/(1-0.67z?0.9z-2)求出并绘制h(z)的幅频响应
与相频响应。
clear all;
b=[1,sqrt(2),1];
a=[1,-0.67,0.9];
[h,w]=freqz(b,a);
am=20*log10(abs(h));
subplot(2,1,1);plot(w,am);
ph=angle(h);
subplot(2,1,2);plot(w,ph);
(7)计算序列{8 -2 -1 2 3}和序列{2 3 -1 -3}的离散卷积,并作图表示卷积结果。
clear all;
a=[8 -2 -1 2 3];
b=[2 3 -1 -3];
c=conv(a,b); %计算卷积
m=length(c)-1;
n=0:1:m;
stem(n,c);
xlabel(n);ylabel(幅度);
(8)求以下差分方程所描述系统的单位脉冲响应h(n),0≤n≤50
y(n)+0.1y(n-1)-0.06y(n-2)=x(n)-2x(n-1)
clear all;
n=50;
a=[1 -2];
b=[1 0.1 -0.06];
x=[1 zeros(1,n-1)];
k=0:1:n-1;
y=filter(a,b,x);
stem(k,y);
xlabel(n);ylabel(幅度 );
【篇三:《数字信号处理》实验报告】
>实验报告
年级:2011级
班级:信通4班
姓名:朱明贵
学号:111100443
老师:李娟
福州大学
2013 年 11 月
实验一快速傅里叶变换(fft)及其应用
一、实验目的
1. 在理论学习的基础上,通过本实验,加深对fft的理解,熟悉matlab中的有关函数。
2. 熟悉应用fft对典型信号进行频谱分析的方法。
3. 了解应用fft进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用fft。
4. 熟悉应用fft实现两个序列的线性卷积和相关的方法。
二、实验类型
演示型
三、实验仪器
装有matlab语言的计算机
四、实验原理
在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散fouier变换(dft)。这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为n时,它的dft定义为:
反变换为:
fft并不是与dft不同的另一种变换,而是为了减少dft运算次数的一种快速算法。它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。常用的fft是以2为基数的,其长度
。它的效率高,程序简单,使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的fft,可以用末位补零的方法,使其长度延长至2的整数次方。
(一)在运用dft进行频谱分析的过程中可能的产生三种误差
1.混叠
序列的频谱是被采样信号频谱的周期延拓,当采样速率不满足nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。避免混叠现象的唯一方法是保证采样
速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,
必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频
率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。
2.泄漏
实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,
这样可以使用较短的dft来对信号进行频谱分析,这种截短等价于给
原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和
矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。
泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减
至最小。
3.栅栏效应
dft是对单位圆上z变换的均匀采样,所以它不可能将频谱视为一个
连续函数,就一定意义上看,用dft来观察频谱就好像通过一个栅栏
来观看一个图景一样,只能在离散点上看到真实的频谱,这样就有
可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所拦住,不能别我
们观察到。
减小栅栏效应的一个方法就是借助于在原序列的末端填补一些零值,从而变动dft的点数,这一方法实际上是人为地改变了对真实频谱采
样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置,从而使
得频谱的峰点或谷点暴露出来。
(二)用fft计算线性卷积
用fft可以实现两个序列的圆周卷积。在一定的条件下,可以使圆周
卷积等于线性卷积。一般情况,设两个序列的长度分别为n1和n2,要使圆周卷积等于线性卷积的充要条件是fft的长度n≥n1+n2-1,
对于长度不足n的两个序列,分别将他们补零延长到n。
当两个序列中有一个序列比较长的时候,我们可以采用分段卷积的
方法。有两种方法:
1.重叠相加法
将长序列分成与短序列相仿的片段,分别用fft对它们作线性卷积,
再将分段卷积各段重叠的部分相加构成总的卷积输出。
2.重叠保留法
这种方法在长序列分段时,段与段之间保留有互相重叠的部分,在构成总的卷积输出时只需将各段线性卷积部分直接连接起来,省掉了输出段的直接相加。
五、实验内容和要求
1、一个连续信号含两个频率分量,经采样得
x(n)?sin[2??0.125n]?cos[2?(0.125??f)n]n?0,1,?,n?1
已知n?16,?f分别为1/16和1/64,观察其频谱;当n?128时,?f 不变,其结果有何不同,为什么?
代码:
n=16;
n=0:n-1;
df=1/16;
xn=sin(2*pi*0.125*n)+cos(2*pi*(0.125+df)*n);
xk=fft(xn,n);
subplot(245);
stem(n,abs(xk));
xlabel(n);ylabel(x(k));title(n=16,df=1/16,频谱图);
subplot(241);
stem(n,abs(xn));
xlabel(n);ylabel(x(n));title(n=16,df=1/16,时序图);
df=1/64;
xn=sin(2*pi*0.125*n)+cos(2*pi*(0.125+df)*n);
xk=fft(xn,n);
subplot(246);
stem(n,abs(xk));
xlabel(n);ylabel(x(k));title(n=16,df=1/64,频谱图);
subplot(242);
stem(n,abs(xn));
xlabel(n);ylabel(x(n));title(n=16,df=1/64,时序图);
n=128;
n=0:n-1;
df=1/16;
xn=sin(2*pi*0.125*n)+cos(2*pi*(0.125+df)*n);
xk=fft(xn,n);
subplot(247);
stem(n,abs(xk));
xlabel(n);ylabel(x(k));title(n=128,df=1/16,频谱图);
subplot(243);
stem(n,abs(xn));
xlabel(n);ylabel(x(n));title(n=128,df=1/16,时序图);
df=1/64;
xn=sin(2*pi*0.125*n)+cos(2*pi*(0.125+df)*n);
xk=fft(xn,n);
subplot(248);
stem(n,abs(xk));
xlabel(n);ylabel(x(k));title(n=128,df=1/64,频谱图);
subplot(244);
stem(n,abs(xn));
xlabel(n);ylabel(x(n));title(n=128,df=1/64,时序图);
频谱图:
2、用fft分别实现的x(n)?0.8,0?n?11和h(n)?u(n)?u(n?6)的线性
卷积和10点、20点圆周卷积,记录其波形,并说明他们之间的关系。代码: n
function [ y ] = circonv( x1,x2,n )
%untitled3 summary of this function goes here
%detailed explanation goes here
if length(x1)n
error(n should higher than or equal to the length of x1) end
if length(x2)n
error()
end
x1=[x1,zeros(1,n-length(x1))];
x2=[x2,zeros(1,n-length(x2))];
m=0:1:n-1;
x2=x2(mod(-m,n)+1);
h=zeros(n,n);
for n=1:1:n
h(n,:)=cirshift(x2,n-1,n);