您的当前位置:首页正文

实验报告-数字信号处理实验 1

2021-02-05 来源:汇智旅游网


大连理工大学

本科实验报告

实验名称 : 学院(系): 信息与通信学院 专 业: 电子信息工程 班 级: 电子1301 学 号: 201383022 学生姓名:

同 组 人:

年 月 日

实验项目列表

序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 总计

实验项目名称 学分: 学时 成 绩 预习 操作 结果 指导教师

大连理工大学实验报告

学院(系): 信息与通信工程 专业: 电子信息工程 班级: 电子1103 姓 名: 于梦月 学号: 201158021 组: ___ 实验时间: 实验室: 实验台: 指导教师签字: 成绩:

实验一 线性卷积与圆周卷积

一、实验目的和要求

见预习报告

二、实验原理和内容

见预习报告

三、主要仪器设备

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:1:5; ny=0:11;

x=[3,11,7,0,-1,4,2]; h=[2,3,0,-5,2,1]; y=conv(x,h);

结果:y =

6 31 47 6 -51 -5 41 18 -22 -3 8 2

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,来实现序列的圆周卷积,格式如下:

function y=circonv(x1,x2,N) 解:

function yc=circonv(x1,x2,N); if length(x1)>N

error('N should higher than or equal to the length of x1!'); end

if length(x2)>N

error('N should higher than or equal to the length of x2!'); end

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); for n=1:1:N

H(n,:)=cirshifted(x2,n-1,N); end

yc=x1*H';

其中cirshifted函数如下:

function y = cirshifted( x,m,N ) if length(x)>N

error('x的长度必须小于N');

end

x=[x,zeros(1,N-length(x))]; n=[0:1:N-1];

y=x(mod(n-m,N)+1); end

nx(n)u(n)u(n10)h(n)0.9u(n),4. 求序列和(n5:50,N56)的线性卷积

解:

Clear clc

nx=-5:50; nh=-5:50;

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'),grid on xlabel('n'),title('x(n)') subplot(312)

stem(nh,h,'fill'),grid on xlabel('n'),title('h(n)') subplot(313)

stem(ny,y,'fill'),grid on

xlabel('n'),title('y(n)=x(n)*h(n)' 结果:

x(n)10.50-1001020nh(n)30405010.50-1001020ny(n)=x(n)*h(n)30405050-2002040n6080100

a) N个点的圆周卷积 b) 3N/2个点的圆周卷积 c) 2N-1个点的圆周卷积 解: clear clc N=56;

nx=-5:50; nh=-5:50;

x=uct(nx)-uct(nx-10); h=0.8.^nh.*uct(nh); ycn=circonv(x,h,N);

ny2=[0:1:length(ycn)-1]; subplot(311)

stem(ny2,ycn),grid on

xlabel('n'),title('N点圆周卷积')

ycn=circonv(x,h,3*N/2); ny2=[0:1:length(ycn)-1]; subplot(312)

stem(ny2,ycn),grid on

xlabel('n'),title('3N/2点圆周卷积')

ycn=circonv(x,h,2*N-1); ny2=[0:1:length(ycn)-1]; subplot(313)

stem(ny2,ycn),grid on

xlabel('n'),title('2N-1点圆周卷积') 结果:

N点圆周卷积500102030n3N/2点圆周卷积405060500102030405060708090n2N-1点圆周卷积500204060n80100120

d) 用FFT变换实现其圆周卷积

解: clear clc

nx=-5:50; nh=-5:50;

x=uct(nx)-uct(nx-10); h=0.8.^nh.*uct(nh); y1=fft(x) y2=fft(h)

y=ifft(y1.*y2)

ny2=[0:1:length(y)-1]; stem(ny2,y),grid on

xlabel('n'),title('圆周卷积') 结果:

圆周卷积4.543.532.521.510.500102030n405060

六、实验结果与分析 七、讨论、建议、质疑

注:有预习报告的,部分内容(如:目的和要求、原理等)可体现在预习报告里。

大连理工大学实验预习报告

学院(系): 信息与通信工程 专业: 电子信息工程 班级: 电子1103

姓 名: 于梦月 学号: 201158021 组: ___ 实验时间: 实验室: 实验台: 指导教师签字: 成绩:

实验一 线性卷积与圆周卷积

一、实验目的和要求

理解离散序列的线性卷积与圆周卷积的原理,比较其相同和不同点,掌握线性卷积与圆周卷积的计算步骤和计算方法,能熟练使用Matlab的相关命令。

二、实验原理和内容

1.线形卷积:

设两序列为x(n)和h(n),则x(n)和h(n)的线形卷积和定义为

y(n)m (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(m)h(nm)x(n)*h(n)

注意:对于得到结果的仍然是一个序列,若x(n)的长度是N,h(n)的长度是M,则y(n)的长度是N+M-1。

2.圆周卷积:

设两序列为x(n)和h(n),则x(n)和h(n)的圆周卷积和定义为

y(n)x(n)h(n)[x(m)h((nm))N]RN(n)m0N1[h(m)x((nm))N]RN(n)m0N1 (2)

圆周卷积过程:

1)补零:若x(n)的长度是N,h(n)的长度是M,取Hmax(N,M),对序列补零至H点。 2)周期延拓:先在哑变量坐标m上作出x(m)和h(m),将h(m)周期延拓。

3)翻褶,取主值序列:对h(m)以 m=0的垂直轴为对称轴翻褶成h (-m),然后取主值序列。 4)圆周移位:对得到的序列进行圆周移位。

5)相乘相加:与x(m)对应项相乘,并累加,得到y(n)

x1(n)10x2(n)N1n10x2((0m))NRN(m)N1n1x2((1m))NRN(m)1N1m0y(n)x1(n)Nx2(n)N1m3210N1m

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点圆周卷积和线性卷积相等。

三、实验步骤

n0.9求序列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变换实现其圆周卷积

四、实验数据记录表格

因篇幅问题不能全部显示,请点此查看更多更全内容