数字信号处理实验课后答案

数字信号处理实验课后答案

【篇一:数字信号处理第三版课后实验程序(高西全)】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);

相关文档
最新文档