MATLAB计算卷积

本 科 实 验 报 告

学 员:学培养类型:专 业:指导教员:实 验 室:实验名称: 号:

技术类 年 级: 2008级

电子工程 所属学院:电子科学与工程学院 职 称: 教授 实验日期: 2010年12月23日

国防科学技术大学训练部制

实验一 MATLAB 计算卷积

一. 实验目的

通过MATLAB 卷积程序的编写, 学会使用计算机软件编程来处理信号(即信号的采样与计算) 并进一步了解信号卷积计算的方法与步骤, 以更好地理解信号与系统课程知识理论,加强理论与实践的结合。 二. 实验要求

使用MATLAB 编写主程序和卷积函数,实现两个信号的卷积运算。要求:

1. 程序必须对任意两个函数信号都适用; 2. 结果必须是至少两个信号的卷积。 三. 实验平台

笔记本电脑 MATLAB 软件平台 四. 实验原理

信号卷积的计算公式为

c (t ) =f (t ) *g (t ) =

∞-∞

f (τ) g (t -τ) d τ

可通过图形变换的方法来计算两个信号的卷积。 用图解法求解卷积的步骤是:翻转、滑动、相乘、积分。 a. 确定卷积结果的分段时限; b. 确定每段中积分的上下限;

c. 确定每段中积分函数的表达式具体实现如下图

五. 实验内容

对于信号

⎧exp(2πf 0t +πkt 2) 0≤t ≤τ

s 0(t ) =⎨

0 other⎩ Pair 1: s (t ) = s 0(t -τ) + s 0(t -1. 5τ) g (t ) =s 0(t )

where f 0=1. 0⨯10H z , τ=10⨯10

7

-6

*

s , k =2. 0⨯10M H z /s

6

计算其卷积 六. 实验分析

(1)根据题目要求输入信号,观察信号和卷积结果的波形表示。 信号f 的波形为

function f

21.5

10.50-0.5-1-1.5-2

00.20.40.60.811.2x 10

-5

信号g 的波形为

function g

10.8

0.60.40.20-0.2-0.4-0.6-0.8-10

0.2

0.4

0.6

0.8

1

1.2x 10

-5

卷积结果的波形为

the result of conv

-50

-100

-150

-200

-250

-300

00.511.522.5x 10

-5

由图形可知,卷积后结果信号的长度为两输入信号长度之和;且卷积结果(经db 转换)每一点都是两输入信号翻转平移后重叠区域的面积。

说明卷积函数编写正确,卷积结果波形符合理论。 七. 学习心得

通过编写MATLAB 程序计算卷积,使我对信号之间计算卷积的方法和步骤有了更深的理解。同时这次实验使我对MATLAB 这一数学软件有了进一步的理解,它除了功能强大且语言简单易懂外,尤其适合对信号的处理和计算。此次实验告诉我们在动手计算解决问题的同时要学会运用功能强大的计算机软件来解决问题并做仿真验证以进一步研究。 八. 程序源码

主程序:%UNTITLED Summary of this function goes here

% Detailed explanation goes here clear all

% Parameters' definition

Tp=10.e-6; % transmitted pulse width fc=1.e+7; % carrier frequency Fs=200.e+6; % sampling frequency kr=2.e+12; % chirp rate

tr=0:1/Fs:Tp; % discrete time array

%Functions' definition

s=exp(j*2*pi*fc*tr+j*pi*kr*(tr).^2);

f=exp(j*2*pi*fc*(tr-Tp)+j*pi*kr*(tr-Tp).^2)+exp(j*2*pi*fc*(tr-1.5*Tp)+j*pi*kr*(tr-1.5*Tp).^2); g=conj(s);

% Processing

y=conv_myself(f,g); y=y/max(y); y=20*log10(abs(y));

% plot result

figure(1); plot(tr,f); title('function f'); figure(2); plot(tr,g); title('function g');

tc=0:1/Fs:2*Tp;

figure(3); plot(tc,y);title('the result of conv'); grid; 卷积程序

function w=conv_myself(f,g) len=length(f)+length(g)-1; fn=zeros(1,len); gn=zeros(1,len); fn(length(g):end)=f; for m=1:length(g)

g1(m)=g(length(g)-m+1); end

gn(1:length(g))=g1; for n=1:len

gn1=circshift(gn,[0,n-1]); w(n)=sum(fn.*gn1); end

本 科 实 验 报 告

学 员:学培养类型:专 业:指导教员:实 验 室:实验名称: 号:

技术类 年 级: 2008级

电子工程 所属学院:电子科学与工程学院 职 称: 教授 实验日期: 2010年12月23日

国防科学技术大学训练部制

实验一 MATLAB 计算卷积

一. 实验目的

通过MATLAB 卷积程序的编写, 学会使用计算机软件编程来处理信号(即信号的采样与计算) 并进一步了解信号卷积计算的方法与步骤, 以更好地理解信号与系统课程知识理论,加强理论与实践的结合。 二. 实验要求

使用MATLAB 编写主程序和卷积函数,实现两个信号的卷积运算。要求:

1. 程序必须对任意两个函数信号都适用; 2. 结果必须是至少两个信号的卷积。 三. 实验平台

笔记本电脑 MATLAB 软件平台 四. 实验原理

信号卷积的计算公式为

c (t ) =f (t ) *g (t ) =

∞-∞

f (τ) g (t -τ) d τ

可通过图形变换的方法来计算两个信号的卷积。 用图解法求解卷积的步骤是:翻转、滑动、相乘、积分。 a. 确定卷积结果的分段时限; b. 确定每段中积分的上下限;

c. 确定每段中积分函数的表达式具体实现如下图

五. 实验内容

对于信号

⎧exp(2πf 0t +πkt 2) 0≤t ≤τ

s 0(t ) =⎨

0 other⎩ Pair 1: s (t ) = s 0(t -τ) + s 0(t -1. 5τ) g (t ) =s 0(t )

where f 0=1. 0⨯10H z , τ=10⨯10

7

-6

*

s , k =2. 0⨯10M H z /s

6

计算其卷积 六. 实验分析

(1)根据题目要求输入信号,观察信号和卷积结果的波形表示。 信号f 的波形为

function f

21.5

10.50-0.5-1-1.5-2

00.20.40.60.811.2x 10

-5

信号g 的波形为

function g

10.8

0.60.40.20-0.2-0.4-0.6-0.8-10

0.2

0.4

0.6

0.8

1

1.2x 10

-5

卷积结果的波形为

the result of conv

-50

-100

-150

-200

-250

-300

00.511.522.5x 10

-5

由图形可知,卷积后结果信号的长度为两输入信号长度之和;且卷积结果(经db 转换)每一点都是两输入信号翻转平移后重叠区域的面积。

说明卷积函数编写正确,卷积结果波形符合理论。 七. 学习心得

通过编写MATLAB 程序计算卷积,使我对信号之间计算卷积的方法和步骤有了更深的理解。同时这次实验使我对MATLAB 这一数学软件有了进一步的理解,它除了功能强大且语言简单易懂外,尤其适合对信号的处理和计算。此次实验告诉我们在动手计算解决问题的同时要学会运用功能强大的计算机软件来解决问题并做仿真验证以进一步研究。 八. 程序源码

主程序:%UNTITLED Summary of this function goes here

% Detailed explanation goes here clear all

% Parameters' definition

Tp=10.e-6; % transmitted pulse width fc=1.e+7; % carrier frequency Fs=200.e+6; % sampling frequency kr=2.e+12; % chirp rate

tr=0:1/Fs:Tp; % discrete time array

%Functions' definition

s=exp(j*2*pi*fc*tr+j*pi*kr*(tr).^2);

f=exp(j*2*pi*fc*(tr-Tp)+j*pi*kr*(tr-Tp).^2)+exp(j*2*pi*fc*(tr-1.5*Tp)+j*pi*kr*(tr-1.5*Tp).^2); g=conj(s);

% Processing

y=conv_myself(f,g); y=y/max(y); y=20*log10(abs(y));

% plot result

figure(1); plot(tr,f); title('function f'); figure(2); plot(tr,g); title('function g');

tc=0:1/Fs:2*Tp;

figure(3); plot(tc,y);title('the result of conv'); grid; 卷积程序

function w=conv_myself(f,g) len=length(f)+length(g)-1; fn=zeros(1,len); gn=zeros(1,len); fn(length(g):end)=f; for m=1:length(g)

g1(m)=g(length(g)-m+1); end

gn(1:length(g))=g1; for n=1:len

gn1=circshift(gn,[0,n-1]); w(n)=sum(fn.*gn1); end


相关内容

  • 实验二 信号的时域运算和卷积
  • 课程名称:姓 名:系:专 业:学 号:指导教师: 本科实验报告 信号与系统(乙)实验 罗宇鹏 工科试验班(信息) 光电信息 3120103549 吕 俊 张建国 2014年 5月 7日 实验报告 课程名称: 信号与系统(乙)实验 指导老师: 吕 俊 张建国 成绩:______ 实验名称: 信号的时域 ...

  • 循环卷积与线性卷积的matlab实现
  • 循环卷积与线性卷积的实现 一. 实验目的:(1)进一步理解并掌握循环卷积与线性卷积的概念. (2)理解掌握二者的关系. 三.实验原理 两个序列的N 点循环卷积定义为 [h (n )⊗x (n )]N = ∑h (m )x ((n -m ))(0≤n N k =0 N -1 从定义中可以看到,循环卷积 ...

  • 通过重叠相加法实现卷积的报告
  • 数字信号处理 课程设计 题目:通过重叠相加法实现卷积 院系:自动化与信息工程学院 专业:通信工程 班级: 通信091 学号: 3090432028 姓名: 雷帛川 指导教师: 李建勋 职称: 副教授 2012年7月10日-2012年7月14日 设计任务 对随机信号进行滑动均值滤波,分析统计特征. 功 ...

  • 图像复原基本方法的研究毕业设计
  • 毕业设计说明书(论文) 作 者: 系: 学 号: 图像复原基本方法的研究 专 业: 题 目: 指导者: (姓 名) (专业技术职务) 评阅者: (姓 名) (专业技术职务) 2012 年 5 月 毕业设计(论文)评语 毕业设计说明书(论文)中文摘要 毕业设计说明书(论文)外文摘要 目 次 1 绪论 ...

  • 实验预习报告1
  • 大连理工大学实验预习报告 学院(系): 信息与通信工程 专业: 通信 班级: 电通1101 姓 名: 殷青 学号: 201181227 实验时间: 2014.4.23 实验室: 创C221 实验一 线性卷积与圆周卷积 一. 实验目的和要求 理解离散序列的线性卷积与圆周卷积的原理,比较其相同和不同点, ...

  • 信号与系统实验报告
  • 本科生实验报告 实验课程 信号与系统 学院名称 信息科学与技术学院 专业名称 信息工程 学生姓名 杨海洋 学生学号 [1**********]1 指导教师 杨斯涵 实验地点 6A502 实验成绩 二〇一四年11月二〇一四年12月 实验一 MATLAB 编程初步应用及产生典型信号 一.实验目的及要求: ...

  • [博客大赛]基于Matlab的数字图像处理
  • 概述 我们知道,图像在Matlab 中是用矩阵表示的,虽然RGB等彩色图像和灰度图像的矩阵表示方式不同,终归也是矩阵. 而在Matlab中所涉及的线性空间滤波,从本质上来说是两个矩阵的卷积或者相关运算:通过相应滤波器(或者称之为掩膜,实际也为一个二维矩阵)与图像矩阵进行卷积或者相关运算实现.卷积运算 ...

  • 离散小波变换算法剖析及其通用程序实现
  • 第28卷第20期Vol. 28 No. 20 计算机工程与设计 Computer Engineering and Design 2007年10月Oct. 2007 离散小波变换算法剖析及其通用程序实现 熊智新,胡慕伊,陈朝霞,胡 摘 明 (南京林业大学化学工程学院,江苏南京210037) 要:针对小 ...

  • 数字信号处理实验报告
  • 数字信号处理 实验报告 实验一 信号(模拟.数字)的输入输出实验 (常见离散信号产生和实现) 一.实验目的 1.加深对常用离散信号的理解: 2.掌握matlab 中一些基本函数的建立方法. 二.实验原理 1. 单位抽样序列 δ(n ) =⎨ ⎧1⎩0 n =0n ≠0 在MATLAB 中可以利用ze ...