实验报告数字信号处理实验 1Word下载.docx
《实验报告数字信号处理实验 1Word下载.docx》由会员分享,可在线阅读,更多相关《实验报告数字信号处理实验 1Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
预习
操作
结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
总计
学分:
大连理工大学实验报告
信息与通信工程专业:
电子信息工程班级:
电子1103
姓名:
于梦月学号:
201158021组:
___
实验时间:
实验室:
实验台:
指导教师签字:
成绩:
实验一线性卷积与圆周卷积
1、实验目的和要求
见预习报告
2、实验原理和内容
3、主要仪器设备
Matlab软件
四、实验步骤与操作方法
1.给出序列x=[3,11,7,0,-1,4,2],h=[2,3,0,-5,2,1];
用两种方法求两者的线性卷积y,对比结果。
a)直接调用matlab内部函数conv来计算。
解:
clear
clc
nx=0:
1:
6;
nh=0:
5;
ny=0:
11;
x=[3,11,7,0,-1,4,2];
h=[2,3,0,-5,2,1];
y=conv(x,h);
结果:
y=
631476-51-54118-22-382
b)根据线性卷积的步骤计算。
2.将函数conv稍加扩展为函数conv_m,它可以对任意基底的序列求卷积。
格式如下:
function[y,ny]=conv_m(x,nx,h,nh)
%信号处理的改进卷积程序
%[y,ny]=conv_m(x,nx,h,nh)
%[y,ny]=卷积结果
%[x,nx]=第一个信号
%[h,nh]=第二个信号
function[y,ny]=conv_m(x,nx,h,nh)
ny1=nx
(1)+nh
(1);
ny2=nx(length(x))+nh(length(h));
ny=[ny1:
ny2];
y=conv(x,h)
end
3.创建函数circonv,来实现序列的圆周卷积,格式如下:
functiony=circonv(x1,x2,N)
functionyc=circonv(x1,x2,N);
iflength(x1)>
N
error('
Nshouldhigherthanorequaltothelengthofx1!
'
);
iflength(x2)>
Nshouldhigherthanorequaltothelengthofx2!
x1=[x1,zeros(1,N-length(x1))];
x2=[x2,zeros(1,N-length(x2))];
n=[0:
N-1];
x2=x2(mod(-n,N)+1);
H=zeros(N,N);
forn=1:
H(n,:
)=cirshifted(x2,n-1,N);
yc=x1*H'
;
其中cirshifted函数如下:
functiony=cirshifted(x,m,N)
iflength(x)>
x的长度必须小于N'
x=[x,zeros(1,N-length(x))];
y=x(mod(n-m,N)+1);
4.求序列
和
,(
)的线性卷积
Clear
nx=-5:
50;
nh=-5:
x=uct(nx)-uct(nx-10);
h=0.8.^nh.*uct(nh);
[y,ny]=conv_m(x,nx,h,nh)
subplot(311)
stem(nx,x,'
fill'
),gridon
xlabel('
n'
),title('
x(n)'
)
subplot(312)
stem(nh,h,'
h(n)'
subplot(313)
stem(ny,y,'
y(n)=x(n)*h(n)'
a)N个点的圆周卷积
b)3N/2个点的圆周卷积
c)2N-1个点的圆周卷积
N=56;
ycn=circonv(x,h,N);
ny2=[0:
length(ycn)-1];
stem(ny2,ycn),gridon
N点圆周卷积'
ycn=circonv(x,h,3*N/2);
3N/2点圆周卷积'
ycn=circonv(x,h,2*N-1);
2N-1点圆周卷积'
d)用FFT变换实现其圆周卷积
y1=fft(x)
y2=fft(h)
y=ifft(y1.*y2)
length(y)-1];
stem(ny2,y),gridon
圆周卷积'
六、实验结果与分析
七、讨论、建议、质疑
注:
有预习报告的,部分内容(如:
目的和要求、原理等)可体现在预习报告里。
大连理工大学实验预习报告
理解离散序列的线性卷积与圆周卷积的原理,比较其相同和不同点,掌握线性卷积与圆周卷积的计算步骤和计算方法,能熟练使用Matlab的相关命令。
1.线形卷积:
设两序列为x(n)和h(n),则x(n)和h(n)的线形卷积和定义为
(1)
卷积和的运算在图形表示上可分为四步:
翻褶,移位,相乘,相加
(1)翻褶:
先在哑变量坐标m上作出x(m)和h(m),将h(m)以m=0的垂直轴为对称轴翻褶成h(-m)。
(2)移位:
将h(-m)移位,即得h(n-m)。
当n为正整数时,右移n位。
当为负整数时,左移n位。
(3)相乘:
再将h(n-m)和x(m)的相同m值的对应点值相乘。
(4)相加:
把以上所有对应点的乘积叠加起来,即得y(n)值。
注意:
对于得到结果的仍然是一个序列,若x(n)的长度是N,h(n)的长度是M,则y(n)的长度是N+M-1。
2.圆周卷积:
设两序列为x(n)和h(n),则x(n)和h(n)的圆周卷积和定义为
(2)
圆周卷积过程:
1)补零:
若x(n)的长度是N,h(n)的长度是M,取
,对序列补零至H点。
2)周期延拓:
先在哑变量坐标m上作出x(m)和h(m),将h(m)周期延拓。
3)翻褶,取主值序列:
对h(m)以m=0的垂直轴为对称轴翻褶成h(-m),然后取主值序列。
4)圆周移位:
对得到的序列进行圆周移位。
5)相乘相加:
与x(m)对应项相乘,并累加,得到y(n)
3.线形卷积与圆周卷积的关系:
为何要探讨线形卷积与圆周卷积的关系?
时域圆周卷积在频域上相当于两序列的DFT的相乘,因而可以采用DFT的快速算法——快速傅立叶变换(FFT)算法,它于线性卷积相比,计算速度可以大大加快。
但是,一般实际问题(例如,信号通过线性移不变系统)都是线性卷积运算。
4.结论:
设两序列为x(n)和h(n),长度分别为N、M;
则其线形卷积的长度为N+M-1,而圆周卷积的长度为K=max(N,M)。
实际上还可以计算K+1、K+2、。
。
、N+M-1、N+M、N+M+1….等点的圆周卷积,只有L≥N1+N2-1,则L点圆周卷积和线性卷积相等。
3、实验步骤
求序列x(n)=u(n)-u(n-10)和h(n)=
u(n),(n=-5:
50,N=56)的
1、线性卷积
2、N个点的圆周卷积
3、3N/2个点的圆周卷积
4、2N-1个点的圆周卷积
5、用FFT变换实现其圆周卷积
四、实验数据记录表格