当前位置:文档之家› 信号与系统课程设计

信号与系统课程设计

信号与系统课程设计
信号与系统课程设计

信号与系统

课程设计

题 目:用Matlab 的符号运算方法求傅里叶正反变换 学 生 姓 名:吴博强 许宁雨

院(系、部): 机电工程学院 指 导 教 师:马崇霄 张云

2012年12月24日至2012年12月28日

HebeiNormalUniversity of Science & Technology

专业:电子信息工程

学号:0414110117 0414110119

摘要

傅里叶分析的研究与应用至今已经历了一百余年。进入二十世纪后,谐振电路、滤波器、正弦振荡器等一系列具体问题的解决为正弦函数与傅里叶分析的进一步应用开辟了广阔的前景。从此,人们逐渐认识到,在通信与控制系统的理论研究与实际应用中,采用频域的分析方法较之经典的时域方法有许多突出优点。当今,傅里叶分析方法已经成为信号分析与系统设计不可缺少的重要工具。

傅里叶分析方法不仅应用于电力工程、通信和控制领域之中,而且在力学、光学、量子物理和各种线性系统分析等许多有关数学、物理和工程技术领域中得到广泛而普遍的应用。

傅立叶变换是数字信号处理领域一种很重要的算法。傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率、振幅和相位。

我们小组在本次课程设计中着重研究非周期信号的傅里叶变换及其MATLAB实现。通过本次课程设计,我们应用MATLAB软件仿真一些典型非周期信号的傅里叶变换,通过对这些典型信号频谱的研究,我们希望能够对非周期信号的傅里叶变换有更加深刻的认识和了解,同时也希望掌握MATLAB软件以实现其对函数信号的仿真应用。

原理分析和设计

本次试验主要研究门函数和冲激信号的傅里叶正反变换,利用matlab中自带的傅里叶变换函数,对门函数和冲激信号进行傅里叶正反变换。其中对门函数使用fourier和ifourier对门函数进行傅里叶正反变换,用fft2和ifft2对冲激信号进行傅里叶正反变换。以此来研究matlab的傅里叶变换功能。

门函数的傅里叶变换信号为Sa函数,冲激信号的傅里叶变换为常数1。

fourier和ifourier是对连续信号进行傅里叶正反变换,但因为计算机只能处理数字信号,所以会产生一定的失真。而单位冲激信号的产生使用了zeros函数,所以只能用fft2和ifft2来进行傅里叶正反变换。因此模拟会有一定的失真,没有找到解决的办法。

详细设计

1常用连续时间信号的实现

1.1 Sa 函数信号

Sa 函数的matlab 程序 t= -10:1/500:10; x=sinc(t/pi); plot(t,x);

title('Sa 函数信号'); xlabel('时间(t)'); ylabel('幅值(f)');

1.2 阶跃信号

产生阶跃信号的matlab 程序 t= -2: 0.02: 6; x=(t>=0); plot(t,x); axis([-2,6,0,1.2]);

-0.4

-0.2

0.2

0.4

0.6

0.8

1

Sa 函数信号

时间(t)

幅值(f )

title('单位阶跃信号'); xlabel('时间(t)'); ylabel('幅值(f)');

1.3 衰减指函数信号

衰减指数信号matlab 程序 t = 0: 0.001: 5; x = 2*exp(-1*t); plot(t,x);

title('衰减指数信号'); xlabel('时间(t)'); ylabel('幅值(f)');

-2

-101

23456

00.2

0.4

0.6

0.8

1

单位阶跃信号

时间(t)

幅值(f )

00.20.40.60.811.2

1.41.61.82衰减指数信号

时间(t)

幅值(f )

2常用离散时间信号的实现

2.1 单位脉冲序列

k= -4: 20;

x=[zeros(1,4),1,zeros(1,20)]; stem(k,x)

title('单位脉冲序列'); xlabel('时间(t)'); ylabel('幅值(f)');

2.2 单位阶跃序列

k= -4:20;

x=[zeros(1,4),ones(1,21)]; stem(k,x)

title('单位阶跃序列'); xlabel('时间(t)'); ylabel('幅值(f)');

00.10.20.30.40.50.6

0.70.80.91时间(t)

幅值(f )

2.3衰减指数序列

k = -5:15; x = 0.3*(1/2).^k; stem(k,x); title('指数序列'); xlabel('时间(t)'); ylabel('幅值(f)');

3用Matlab 的符号运算方法求傅里叶正反变换

3.1 门函数傅里叶正反变换

syms t

y=heaviside(t+1)-heaviside(t-1);%生成门函数 ezplot(y);

00.10.20.30.40.50.6

0.70.80.91时间(t)

幅值(f

)

指数序列

时间(t)

幅值(f )

axis([-3 3 0 2]); title('原函数');

F=fourier(y);%对门函数进行傅里叶变换 Figure%生成一个新窗口 ezplot(abs(F)); title('傅里叶变换');

G=ifourier(F);%对门函数进行反傅里叶变换 Figure%生成一个新窗口 ezplot(abs(G)); axis([-3 3 0 2]); title('反傅里叶变换');

-3

-2

-1

01

2

3

00.20.40.60.811.21.41.61.8

2t

原函数

-6

-4

-2

02

4

6

w

傅里叶变换

3.2 冲激信号傅里叶正反变换

t0=0; t1=-1; t2=3; dt=0.001; t=t1:dt:t2; n=length(t);

k1=floor((t0-t1)/dt); x=zeros(1,n); x(k1)=1; plot(t,x);

axis([-1,3,0,1.2]); title('单位冲激信号); xlabel('时间(t)'); ylabel('幅值(f)'); F=fft2(x); figure plot(abs(F)); title('傅里叶变换'); G=ifft2(F); figure plot(abs(G));

title('反傅里叶变换');

00.20.40.60.811.21.41.61.82x

反傅里叶变换

总结

由上图可以看出在进行傅里叶变换时出现了一定的失真,尤其是用了fft2和ifft2时,失真更明显。但其对应的变换图像没有幅值失真,只有时域失真。所以matlab 的傅里叶变换功能使用时,最好使用fourier 和ifourier 函数对连续信号进行傅里叶正反变换,而fft2和ifft2中使用时要注意其失真度较大。

00.2

0.4

0.6

0.8

1

单位冲激信号

时间(t)

幅值(f )

1

1

1

1

1

1

1

1

傅里叶变换

0.2

0.4

0.6

0.8

1

1.2

1.4

反傅里叶变换

参考文献

g.电子文献

信号与系统课程设计-傅里叶变换及matlab仿真。https://www.doczj.com/doc/7d2375834.html,/view/06331883ec3a87c24028c440

信号与系统课程设计报告材料

课程设计报告 课程名称信号与系统课程设计指导教师 设计起止日期 学院信息与通信工程 专业电子信息工程 学生 班级/学号 成绩 指导老师签字

目录 1、课程设计目的 (1) 2、课程设计要求 (1) 3、课程设计任务 (1) 4、课程设计容 (1) 5、总结 (11) 参考文献 (12) 附录 (12)

1、课程设计目的 “信号与系统”是一门重要的专业基础课,MATLAB作为信号处理强有力的计算和分析工具是电子信息工程技术人员常用的重要工具之一。本课程设计基于MATLAB完成信号与系统综合设计实验,以提高学生的综合应用知识能力为目标,是“信号与系统”课程在实践教学环节上的必要补充。通过课设综合设计实验,激发学生理论课程学习兴趣,提高分析问题和解决问题的能力。 2、课程设计要求 (1)运用MATLAB编程得到简单信号、简单信号运算、复杂信号的频域响应图; (2)通过对线性时不变系统的输入、输出信号的时域和频域的分析,了解线性时不变系统的特性,同时加深对信号频谱的理解。 3、课程设计任务 (1)根据设计题目的要求,熟悉相关容的理论基础,理清程序设计的措施和步骤; (2)根据设计题目的要求,提出各目标的实施思路、方法和步骤; (3)根据相关步骤完成MATLAB程序设计,所编程序应能完整实现设计题目的要求; (4)调试程序,分析相关理论; (5)编写设计报告。 4、课程设计容 (一)基本部分 (1)信号的时频分析 任意给定单频周期信号的振幅、频率和初相,要求准确计算出其幅度谱,并准确画出时域和频域波形,正确显示时间和频率。 设计思路: 首先给出横坐标,即时间,根据设定的信号的振幅、频率和初相,写出时域波形的表达式;然后对时域波形信号进行傅里叶变化,得到频域波形;最后使用plot函数绘制各个响应图。 源程序: clc; clear; close all; Fs =128; % 采样频率 T = 1/Fs; % 采样周期 N = 600; % 采样点数 t = (0:N-1)*T; % 时间,单位:S x=2*cos(5*2*pi*t);

数字信号处理课程设计报告

《数字信号处理》课程设计报告 设计题目: IIR滤波器的设计 专业: 班级: 姓名: 学号: 指导教师: 2010年月日

1、设计目的 1、掌握IIR 滤波器的参数选择及设计方法; 2、掌握IIR 滤波器的应用方法及应用效果; 3、提高Matlab 下的程序设计能力及综合应用能力。 4、了解语音信号的特点。 2、设计任务 1、学习并掌握课程设计实验平台的使用,了解实验平台的程序设计方法; 2、录制并观察一段语音信号的波形及频谱,确定滤波器的技术指标; 3、根据指标设计一个IIR 滤波器,得到该滤波器的系统响应和差分方程,并根据差分方程将所设计的滤波器应用于实验平台,编写相关的Matlab 程序; 4、使用实验平台处理语音信号,记录结果并进行分析。 3、设计内容 3.1设计步骤 1、学习使用实验平台,参见附录1。 2、使用录音机录制一段语音,保存为wav 格式,录音参数为:采样频率8000Hz、16bit、单声道、PCM 编码,如图1 所示。 图1 录音格式设置 在实验平台上打开此录音文件,观察并记录其波形及频谱(可以选择一段较为稳定的语音波形进行记录)。 3、根据信号的频谱确定滤波器的参数:通带截止频率Fp、通带衰减Rp、阻带截止频率Fs、阻带衰减Rs。 4、根据技术指标使用matlab 设计IIR 滤波器,得到系统函数及差分方程,并记录得到系统函数及差分方程,并记录其幅频响应图形和相频响应图形。要求设计 第 1页出的滤波器的阶数小于7,如果不能达到要求,需要调整技术指标。 5、记录滤波器的幅频响应和系统函数。在matlab 中,系统函数的表示公式为:

因此,必须记录系数向量a 和b。系数向量a 和b 的可以在Matlab 的工作空间(WorkSpace)中查看。 6、根据滤波器的系统函数推导出滤波器的差分方程。 7、将设计的滤波器应用到实验平台上。根据设计的滤波器的差分方程在实验平台下编写信号处理程序。根据运行结果记录处理前后的幅频响应的变化情况,并试听处理前后声音的变化,将结果记录,写入设计报告。 3.2实验程序 (1)Rs=40; Fs=1400; Rp=0.7; Fp=450; fs=8000; Wp=2*pi*Fp;Ws=2*pi*Fs; [N,Wn]=buttord(Wp,Ws,Rp,Rs,'s'); [b1,a1]=butter(N,Wn,'s'); [b,a]=bilinear(b1,a1,fs); [H,W]=freqz(b,a); figure; subplot(2,1,1);plot(W*fs/(2*pi),abs(H));grid on;title('频率响应'); xlabel('频率');ylabel('幅值');、 subplot(2,1,2); plot(W,angle(H));grid on;title('频率响应'); xlabel('相位(rad)');ylabel('相频特性'); 3.3实验结果(如图): N =5 Wn=6.2987e+003 第 2页

信号分析课程设计报告书

信号分析课程设计 信号系统的时域分析 编程实现的卷积积分或卷积和 一、课程设计题目: 基于 MATLAB 的连续时间LTI 系统的时域分析 二、基本要求: ① 掌握连续时不变信号处理的基本概念、基本理论和基本方法; ② 学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法; ③ 学会用 MATLAB 对信号进行分析和处理; ④ 编程实现卷积积分或卷积和,零输入响应,零状态响应; ⑤ 撰写课程设计论文,用信号处理基本理论分析结果。 三、设计方法与步骤: 一般的连续时间系统分析有以下几个步骤: ①求解系统的零输入响应; ②求解系统的零状态响应; ③求解系统的全响应; ④分析系统的卷积;⑤画出它们的图形. 下面以具体的微分方程为例说明利用MATLAB 软件分析系统的具体方法. 1.连续时间系统的零输入响应 描述n 阶线性时不变(LTI )连续系统的微分方程为: 已知y 及各阶导数的初始值为y(0),y (1)(0),… y (n-1)(0), 求系统的零输入响应。 建模 当LIT 系统的输入为零时,其零输入响应为微分方程的其次解(即令微分方程的等号右端为零),其形式为(设特征根均为单根) 其中p 1,p 2,…,p n 是特征方程a 1λ n +a 2λn-1+…+a n λ+a n =0的根,它们可以 用root(a)语句求得。各系数 由y 及其各阶导数的初始值来确定。对此有 1121111n n m n n m m n n m d y d y dy d u du a a a a y b b b u dt dt dt dt dt -++-++?????++=+????++1212()n p t p t p t n y t C e C e C e =++????+120n C C C y ++????+=11220 n n p C p C p C Dy ++????+=

信号与系统课程设计报告

信号与系统课程设计报告 实验题目:信号的运算与处理 内容简介: 设计一个信号,对其进行信号运算和处理,利用Matlab仿真。 课设方式: 利用电子技术、电路理论和信号与系统的知识学习验证信号的运算和处理,如延时、相加、微分、抽样等。自已设计信号及运算方式,并利用Matlab仿真。 分析计算结果。 课程设计要求: 独立完成; 完成信号设计(任意信号均可)及其某种运算(任意运算均可,也可多做几种,或做组合运算)的验证; 学会利用Matlab仿真;提交课程设计报告。 例如: 设计一个信号为f(t)=3sin2t 对其做微分运算得到f/(t) , 用MATLAB 编程实现计算过程,画出f(t)和f/(t)

本次课程设计本人选的信号运算是: 设计一个信号为y1=y(x)=sin2x,对其作微分运算得到dy1,用MATLAB对其实现运算过程,后画出y1,dy1,y1+dy1的图像 实验步骤(操作过程) 1、 首先打开MATLAB软件,在其命令窗口直接输入以下程序,对y(x)进 行微分运算。得到dy1 clear >> syms x y1; >> y1=sin(2*x); >> dy1=diff(y1,'x') dy1 =2*cos(2*x) 运算过程如下图所示: 2、 接着便是对其进行验证,点击fire,新建一个文件,输入以下程序(绘制出y1=sin2x, dy1=2cos2x, 以及y1+ dy1=sin2x+2cos2x。的波形)

3、保存文件,后缀名为.m,随后按F5执行输出输出图形。实验结果如下图所示 、

结果分析 如图所示绿色波形为y1=sin2x,蓝色为dy1=2cos2x,红色波形为y1+dy1。仿真结果与运算结果一致。 实验心得体会(调试过程) 总的来说,这次课程设计难度并不是太高,而我选取的正玄信号也是较为简单常用的一种函数,对其进行微分运算之后,得到了余弦函数,其仿真结果波形也如上所示,与预期一致。在设计过程中,还是出现了几个小问题的,一个是变量的定义,之前没有定义x,直接取范围结果出错了,还有一个是注意各种函数的调用以及运算格式,还是希望能在之后再接再厉,掌握好matlab软件!(附上调试过程图片) 左边为文件、历史窗口,底下是命令窗口,最右下角为实验仿真波形,中间为运算程序,绘图画图程序。

数字信号处理课程设计报告

抽样定理的应用 摘要 抽样定理表示为若频带宽度有限的,要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。抽样频率小于2倍频谱最高频率时,信号的频谱有混叠。抽样频率大于2倍频谱最高频率时,信号的频谱无混叠。 语音信号处理是研究用数字信号处理技术和语音学知识对语音 信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用 软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境! 本设计要求通过利用matlab对模拟信号和语音信号进行抽样,通过傅里叶变换转换到频域,观察波形并进行分析。 关键词:抽样Matlab

目录 一、设计目的: (2) 二、设计原理: (2) 1、抽样定理 (2) 2、MATLAB简介 (2) 3、语音信号 (3) 4、Stem函数绘图 (3) 三、设计内容: (4) 1、已知g1(t)=cos(6πt),g2(t)=cos(14πt),g3(t)=cos(26πt),以抽样频率 fsam=10Hz对上述三个信号进行抽样。在同一张图上画出g1(t),g2(t),g3(t)及其抽样点,对所得结果进行讨论。 (4) 2、选取三段不同的语音信号,并选取适合的同一抽样频率对其进 行抽样,画出抽样前后的图形,并进行比较,播放抽样前后的语音。 (6) 3、选取合适的点数,对抽样后的三段语音信号分别做DFT,画图 并比较。 (10) 四、总结 (12) 五、参考文献 (13)

信号处理与系统课程设计指导书.

《信号处理与系统分析》课程设计指导书 南通大学电子信息学院 信息工程系 2013年5月

前言 《信号处理与系统》是南通大学杏林学院通信信息类专业的一门专业基础课程,其理论性强,是其它后续专业课程的基础。 开设该课程设计的重要意义在于:首先,从帮助学习《信号处理与系统》课程的角度讲,学生借助于计算机,通过系统仿真,可以对信号以及线性系统的分析方法有一个更深入、更直接的认识,巩固理解一些抽象的知识,从而掌握《信号处理与系统》课程中的主要理论与基本原理;其次,从长远意义讲,学生掌握了数值分析软件Matlab的应用方法,为后续专业课的学习打下了坚实的基础;另外实践环节使学生在综合使用现代电子信息技术和手段进行设计、制作和创新方面的能力有所提高,为以后走上工作岗位从事信号分析和系统分析创造了必备的条件。 本课程设计时间为两周,学生根据课程设计指导书进行练习,考核成绩将根据学生出席情况及学习态度、课程设计报告完成情况、最后检查情况综合给出。 编者:李蕴华 2013年5月

课程设计的要求 一、熟练掌握Matlab语言的编程方法; 二、熟悉用于《信号处理与系统分析》的Matlab主要函数的应用; 三、记录实验结果(包括波形和数据),撰写课程设计报告。 主要内容及步骤 一、连续系统的时域分析 1、信号的产生 (1)编写生成连续阶跃信号u(t-t0)及冲激信号δ(t-t0)的函数:function [x,y]=jieyue(t1,t2,t0) 和 function [x,y] =chongji(t1,t2,t0),信号的时间变量取值区间为t1~t2,t0为阶跃点或冲激点处的时间,x为信号的时间向量,y为相应的信号值向量。(提示:冲激信号可以用时间宽度为dt、高度为1/dt的矩形脉冲来近似表示。当dt很小时,矩形脉冲信号可近似认为是冲激信号。在对该矩形脉冲信号采点取样后(设取样间隔为dt),信号值y的第1+(t0- t1)/dt个元素的值为1/dt,其余元素的值为0。) 参考程序: function [t,y1]=jieyue(t1,t2,t0) dt=0.01; ttt=t1:dt:t0-dt; tt=t0:dt:t2; t=t1:dt:t2; n=length(ttt); nn=length(tt); u=zeros(1,n); uu=ones(1,nn); y1=[u,uu]; return

去除干扰蜂鸣音 信号与系统课程设计

一、课程设计题目 去除干扰蜂鸣音 1.目的:掌握信号时频域分析方法,正确理解采样定理,准确理解滤波器的概念。 2.内容:提供一个包含某人说话语音片段的声音文件,但该语音信号被一个包含有几个谐波分量的蜂鸣信号干扰了。 用Matlab 的wavread 命令读取该声音文件。注意,该命令可以同时得到声音文件的采样率和采样位宽,请查阅Matlab 的帮助文件。 (1) 用快速傅立叶变换(FFT )计算并画出声音信号的频谱,列写出蜂鸣信号的谐波频率。 (2) 思考如何将这些蜂鸣音去除?将去除了蜂鸣音的语音片段播放出来,仔细聆听并写下语音片 段中人物所说的话。注意:由于只能播放实信号,因此记得提取信号的实部。 Matlab 命令:wavread, wavplay, fft, fftshift, fir1, filter, plot, figure. 二、设计思路 用waveread()函数读取音频和其采样率和采样位宽,对读取的音频信号使用fft()函数进行快速傅立叶变换并绘出得到的频谱。观察频谱分析噪声(蜂鸣信号)的谐波频率分布,选择合适的滤波模式将噪声信号的谐波滤去,便可以得到去除噪声后的人声。 设计滤波器的频域特性便成了除去噪声并留下原声的关键,我们注意到所学的采样定理以及一维sinc 函数(辛格函数)x x x Sinc ππ) sin()(=,然而汉宁窗可以看作是3个矩形时间窗的频谱之和,或者 说是 3个)(x Sinc 型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了π/T ,从而使旁瓣互相抵消,消去高频干扰和漏能。它适用于非周期性的连续信号。利用它的选择特性使用fir1()建立一个汉宁窗函数,并用filter()函数进行滤波,去除噪声部分。最后用play()函数播放音频检查效果。 三、设计过程 1.音频的读取和分析 先将原始音频文件读入, [audio0, Fs, nbits] = wavread('C:\Users\Administrator\Desktop\signal\buzz.wav');%按路径读取音频存入audio0变量,并用Fs 变量记录采样率,nbits 变量记录采样位宽。 其中, Fs=11025 #采样率为11025Hz nbits=32 #采样带为32 p0=audioplayer(audio0,Fs);%将audio0载入音频播放器 play(p0);%并进行播放 subplot(2,1,1);%分屏绘图 plot(audio0);%绘制原始音频时域图,如下图所示 title('时域');%标注题目

数字信号处理课设共18页文档

数字信号处理课程设计 姓名:刘倩 学号:201014407 专业:信息与计算科学 实验一:常见离散信号产生和实现 一、实验目的: 1、加深对常用离散信号的理解; 2、掌握matlab 中一些基本函数的建立方法。 二、实验原理: 1.单位抽样序列 在MATLAB 中可以利用zeros()函数实现。 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: 2.单位阶越序列 在MATLAB 中可以利用ones()函数实现。 3.正弦序列 在MATLAB 中 4.复指数序列 在MATLAB 中 5.指数序列 在MATLAB 中

实验内容:由周期为10的正弦函数生成周期为20的余弦函数。 实验代码: n=0:30; y=sin(0.2*pi*n+pi/2); y1=sin(0.1*pi*n+pi/2); subplot(121) stem(n,y); xlabel ('时间序列n');ylabel('振幅');title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); subplot(122) stem(n,y1); xlabel ('时间序列n');ylabel('振幅'); title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); 实验结果: 实验二:离散系统的时域分析 实验目的:加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。实验原理:离散系统 其输入、输出关系可用以下差分方程描述: 输入信号分解为冲激信号, 记系统单位冲激响应 则系统响应为如下的卷积计算式:

当N k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。 在MATLAB 中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应。 实验内容:用MATLAB 计算全解 当n>=0时,求用系数差分方程y[n]+y[n-1]-6y[n-2]=x[n]描述的一个离散时间系统对阶跃输入x[n]=8μ[n]的全解。 实验代码: n=0:7; >> [y,sf]=filter(1,[1 1 -6],8*ones(1,8),[-7 6]); >> y1(n+1)=-1.8*(-3).^n+4.8*(2).^n-2; >> subplot(121) >> stem(n,y); >> title('由fliter 函数计算结果'); >> subplot(122) >> stem(n,y1); >> title('准确结果'); 实验结果: 结果分析:有图可得由fliter 函数得出的结果与计算出的准确结果完全一致。 实验三FFT 算法的应用

信号与系统课程设计-用MATLAB模拟方波信号的分解与合成

信号与线性系统 课程设计 题目 学号姓名学号姓名学号姓名学号姓名 院系 年级 专业 日期

摘要 利用MATLAB对周期为T0的方波信号进行傅里叶级数展开,并绘制离散幅度谱和不同次谐波叠加后的图形。通过观察绘制的各个图像,加深对傅立叶变换和信号的分解与合成的理解。 Abstract Expanded the square wave signal with periodic T0 to Fourier series by MATLAB , and drew the discrete spectrum and plot the patterns after different sub harmonics are superimposed. Through the observation of each image, deepen the understanding of the Fourier transform and signal decomposition and synthesis. 关键词:矩形信号傅里叶级数谐波叠加分解与合成 Keywords: Squarewave signal.Fourier series. Harmonic superposition. Decomposition and synthesis 一、设计目的和要求 本设计主要利用MATLAB绘制信号的离散幅度谱和各次谐波叠加后的波形,通过观察谐波展开次数增加后的波形,进一步掌握信号分解与合成的原理。 培养运用所学知识分析解决问题的能力。 掌握用MATLAB实现通信系统仿真实验的能力。 这里要做一个信号的分解与合成的仿真系统,利用matlab软件的仿真模拟能力来体现信号的分解与合成过程中出现的情况。 MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国

信号与系统课程设计

南通大学电子信息学院信号与系统课程设计报告 班级: 姓名: 学号: 指导老师: 设计时间: 2014—2015学年第一学期

一、连续信号的时域分析 二、 1. 信号的产生 (1)阶跃函数 function [t,y1]=jieyue(t1,t2,t0) dt=0.01; ttt=t1:dt:t0-dt; tt=t0:dt:t2; t=t1:dt:t2; n=length(ttt); nn=length(tt); u=zeros(1,n); uu=ones(1,nn); y1=[u,uu]; return 冲激函数 function [t,y2]=chongji(t1,t2,t0) dt=0.01; t=t1:dt:t2; n=length(t); y2(1:n)=0; y2(1,(t0-t1)/dt+1)=1/dt; (2)调用上述函数产生信号)2-t ε(,)(4-t δ,-t e )(t ε,-6s ≤t ≤6s,并画出波形。 Command Window subplot(3,1,1); [t1,y1]=jieyue(-6,6,2);

stairs(t1,y1); axis([-6 6 0 1.5]); subplot(3,1,2); [t2,y2]=chongji(-6,6,4);plot(t2,y2); subplot(3,1,3); [t3,y3]=jieyue(-6,6,0); y3=exp(-(t3)).*y3;plot(t3,y3); 波形如下图所示: (3)根据f(t)画出f(2t)和f(1-0.5t)的波形 t=-3:0.01:3; y=tripuls(t,4,0.6); subplot(3,1,1); plot(t,y);

数字信号课程设计

《数字信号》课程设计报 告 学院:信息科学与工程 专业班级:通信1201

一、 目的与要求 是使学生通过上机使用Matlab 工具进行数字信号处理技术的仿真练习,加深对《信号分析与处理(自)》课程所学基本理论和概念的理解,培养学生应用Matlab 等工具进行数字信号处理的基本技能和实践能力,为工程应用打下良好基础。 二、 主要内容 1.了解Matlab 基本使用方法,掌握Matlab 数字信号处理的基本编程技术。掌握数字信号的基本概念。 2.用Matlab 生成几种典型数字信号(正弦信号、矩形信号、三角波信号等),并做幅频特性分析 2.Matlab 编程实现典型离散信号(正弦信号、矩形信号、三角信号)的离散傅立叶变换,显示时域信号和频谱图形(幅值谱和相位谱);以正弦周期信号为例,观察讨论基本概念(混叠、泄漏、整周期截取、频率分辨率等)。 3.设计任意数字滤波器,并对某类型信号进行滤波,并对结果进行显示和分析。 4.利用matlab 求解差分方程,并做时域和频域分析。用matlab 函数求解单位脉冲响应,并利用窗函数分离信号。 5.用matlab 产生窗函数,并做世玉和频域分析。 6.显示图像,理解图像的模型,将图像进行三原色分解和边缘分析。 三.课程设计题目 一、 1) 生成信号发生器:能产生频率(或基频)为10Hz 的周期性正弦波、三角波和方波信号。绘出它们的时域波形 2) 为避免频谱混叠,试确定各信号的采样频率。说明选择理由。 3)对周期信号进行离散傅立叶变换,为了克服频谱泄露现象,试确定截取数据的长度,即信号长度。分析说明选择理由。 4)绘出各信号频域的幅频特性和相频特性 5)以正弦周期信号为例,观察讨论基本概念(频谱混叠、频谱泄漏、整周期截取等)。 二、已知三个信号()i a p n ,经调制产生信号3 1 ()()cos(/4)i i s n a p n i n π==∑,其中i a 为常 数,()p n 为具有窄带特性的Hanning 信号。将此已调信号通过信道传输,描述该信道的差分方程为 得到接收信号()()*()y n s n h n = 1)分析Hanning 信号()p n 的时域与频域特性 2)分析已调信号()s n 的时域与频域特性 () 1.1172(1)0.9841(2)0.4022(3)0.2247(4) 0.2247()0.4022(1)0.9841(2) 1.1172(3)(4)y n y n y n y n y n x n x n x n x n x n --+---+-= --+---+-

数字信号课程设计报告

一、语音信号去噪处理 1.设计要求: (1)在windows系统下的录音机录制一段1s左右的语音信号作为原声信号,在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数; (2)画出语音信号的时域波形,对采样后的语音进行fft变换,得到信号的频谱特性;对语音信号分别加入正弦噪声和白噪声,画出加噪信号的时域波形和频谱图; (3)根据对加噪语音信号谱分析结果,确定滤除噪声滤波器的技术指标,设计合适的数字滤波器,并画出滤波器的频域响应; (4)用所设计的滤波器对加噪的信号进行滤波,在同一个窗口画出滤波前后信号的时域图和频谱图,对滤波前后的信号进行对比,分析信号变化; (5)利用sound(x)回放语音信号,验证设计效果。 2.设计步骤: (1)找到7s的语音信号,利用函数wavread对语音信号进行信号读取;(2)计算样本时刻和频谱图的频率,并进行N+1点FFT变换; (3)加噪声为5000Hz的正弦信号正弦噪声,采用awgn函数加信噪比为10的高斯白噪声; (4)设计滤波器; (5)绘出相应的时域、频域图; (6)利用sound函数进行原始信号的语音播放,加噪声音播放,以及滤波之后的语言播放。 3.设计实现: (1)时域图与频谱图(加正弦) 录入原始信号的时域图: 加入正弦信号后的时域图:

滤波后的时域图: 录入原始信号的频域图: 加入正弦信号后的频率图: 滤波后的频域图: 采用巴斯低通滤波器滤除正弦波:

(2)具体代码实现: [x,fs,bits]=wavread('E:\mcpass.wav');%原信号 n=size(x,1); %提取采样信号的长度 t=(0:length(x)-1)/fs; %计算样本时刻 f=fs*(0:(n+1)/2-1)/n+1; %计算频域图的频率 X=fft(x,n+1); %进行N+1点FFT变换 ts=0:1/fs:(size(x)-1)/fs; %将所加噪声信号的点数调整到与原始信号相同 s=x+0.05*sin(2*pi*5000*ts)'; %加噪声为5000Hz的正弦信号正弦噪声 S=fft(s,n+1); %加正弦噪声后的频域 %正弦滤波 wp=2000/fs*2*pi; %2000为通带截止频率 ws=3000/fs*2*pi; %3000为阻带下限截止频率 Rp=4; %通带波纹 Rs=25; %阻带波纹 T=1/fs;Fs=1/T; %定义采样间隔 Wp=2/T*tan(wp/2); %计算对应的数字频率 Ws=2/T*tan(ws/2); [N,wn]=buttord(Wp,Ws,Rp,Rs,'s'); %计算滤波器介数和截止频率 [c,d]=butter(N,wn,'s'); %计算滤波器系统函数分子分母系数 [B,A]=bilinear(c,d,Fs); %双线性变换得到数字滤波器系统函数分子分母系数[Hb,Wc]=freqz(B,A); sf=filter(B,A,s); %对加噪信号进行滤波 Sf=fft(sf,n+1); %对滤波后进行N+1点FFT变换 %绘图部分 figure(3); plot(fs*Wc/(2*pi),20*log10(abs(Hb)));title('巴斯低通滤波器频域响应图'); xlabel('频率(Hz)'); ylabel('幅度'); figure(1); subplot(3,1,1); plot(t,x);title('原信号时域') xlabel('时间(s)'); ylabel('幅度'); figure(2); subplot(3,1,1); plot(f,abs(X(1:(n+1)/2)));title('原信号频域') xlabel('频率(Hz)'); ylabel('幅度'); figure(1); subplot(3,1,2); plot(t,s);title('加正弦信号后的时域') xlabel('时间(s)'); ylabel('幅度');

信号与系统课设

一、 1.正弦信号 A = input('input A=') ;% 给正弦信号的幅度A赋值 w = input('input w=') ; % 给正弦信号的频率w赋值 theta =input('input theta='); % 给正弦信号的初始相位theta 赋值disp(['这个信号是周期信号']) T=2*pi/w t = 0 : 0.01 : 3*T ; % 定义时间点 ft = A * sin( w * t + theta ) ; % th计算函数值 plot( t ,ft ) ; % 画图 title( '正弦信号' ) ; % 为图像加标题注释 grid on ; % 在图上画方格

2.复指数信号 j00 = sqrt( - 1 ) ; % 定义复数j a = input('input a='); % 复指数信号赋值w = input('input w='); K = input('input K='); if a==0 disp('这是一个周期信号') T=2*pi/w else if a>0 disp('这不是一个周期信号') else disp('这不是一个周期信号') end end t = -1.5*abs(a) : 0.01 : 1.5*abs(a) % 定义时间点 ft = K*exp( ( a + j00 * w ) * t ) ; subplot( 2 , 2 , 1 ) ; plot( t , real( ft ) ) ; title( '实部' ) ; %画图subplot( 2 , 2 , 2 ) ; plot( t , imag( ft ) ) ; title( '虚部' ) ; subplot( 2 , 2 , 3 ) ; plot( t , abs( ft ) ) ; title( '模' ) ; subplot( 2 , 2 , 4 ) ; plot( t , angle( ft ) ) ; title( '相角' ) ;

数字信号处理课程设计指导书1

数字信号处理上机指导 设计一 正余弦信号的谱分析 【一】 设计目的 1. 用DFT 实现对正余弦信号的谱分析; 2. 观察DFT 长度和窗函数长度对频谱的影响; 3. 对DFT 进行谱分析中的误差现象获得感性认识。 【二】 设计原理 一、谱分析原理 数字信号处理方法的一个重要用途是在离散时间域中确定一个连续时间信号的频谱,通常称为频谱分析,更具体地说,它也包括确定能量谱和功率谱。数字频谱分析可以应用在很广阔领域,频谱分析方法是基于以下的观测:如果连续时间信号)(t g a 是带限的,那么它的离散时间等效信号)(n g 的DFT 进行谱分析。然而,在大多数情况下,)(t g a 是在∞<<∞-t 范围内定义的,因此)(n g 也就定义在∞<<∞-n 的无线范围内,要估计一个无限长信号的频谱是不可能的。实用的方法是:先让模拟连续信号)(t g a 通过一个抗混叠的模拟滤波器,然后把它采样成一个离散序列)(n g 。假定反混叠滤波器的设计是正确的,则混叠效应可以忽略,又假设A/D 变换器的字长足够长,则A/D 变换中的量化噪声也可忽略。 假定表征正余弦信号的基本参数,如振幅、频率和相位不随时间改变,则此信号的傅立叶变换)(ω j e G 可以用计算它的DTFT 得到 ∑ ∞ -∞ =-= n n j j e n g e G ωω )()( (1.1) 实际上无限长序列)(n g 首先乘以一个长度为M 的窗函数)(n w ,使它变成一个长为M 的有限长序列,)()()(1n w n g n g =,对)(1n g 求出的DTFT )(1ω j e G 应该可以作为原连续 模拟信号)(t g a 的频谱估计,然后求出)(1ω j e G 在πω20≤≤区间等分为N 点的离散傅立 叶变换DFT 。为保证足够的分辨率,DFT 的长度N 选的比窗长度M 大,其方法是在截断了的序列后面补上N -M 个零。计算采用FFT 算法。 二、MATLAB 函数介绍 1. 输入函数input( ) 格式:R=input(string) 功能:在屏幕上显示input 括号后的’string ’内容,提示用户从键盘输入某值,并将输入的值赋给R 。 例如,在命令窗口输入R=input(‘How many apples ’) 会显示How many apples

数字信号处理课程设计报告 杨俊

课程设计报告 课程名称数字信号处理 课题名称数字滤波器设计及在语音信号分析中的应用 专业通信工程 班级1281 学号201213120101 姓名杨俊 指导教师彭祯韩宁 2014年12月5日

湖南工程学院 课程设计任务书 课程名称数字信号处理 课题数字滤波器设计 及在语音信号分析中的应用专业班级通信工程1281班 学生姓名杨俊 学号201213120101 指导老师彭祯韩宁 审批 任务书下达日期2014 年12月5日 任务完成日期2014 年12月13日

《数字信号处理》课程设计任务书 一、课程设计的性质与目的 《数字信号处理》课程是通信专业的一门重要专业基础课,是信息的数字化处理、存储和应用的基础。通过该课程的课程设计实践,使学生对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解;巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。 二、课程设计题目 题目1:数字滤波器设计及在语音信号分析中的应用。 1、设计步骤: (1)语音信号采集 录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。 然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。 (2)语音信号分析 使用MATLAB绘出采样后的语音信号的时域波形和频谱图。根据频谱图求出其带宽,并说明语音信号的采样频率不能低于多少赫兹。 (3)含噪语音信号合成 在MATLAB软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:①白

课题信号与系统课程设计报告书

信号与系统课程设计 课程名称:信号与系统 题目名称:滤波器的设计与实现 学院:电气与电子工程学院 专业班级:电气工程及其自动化 学号:3 学生:宗喜 指导教师:黄劲 2015年12 月20 日

目录 一、设计要求 (2) 二、设计原理 (2) 三、设计思路 (3) 四、设计容 (3) A、一阶有源滤波电路 (3) B、二阶有源滤波电路 (5) 1、二阶低通滤波电路 (5) 2、二阶高通滤波电路 (6) 3、二阶带通滤波电路 (8) C、用仿真软件设计滤波器 (10) 1、给定性能参数设计滤波器 (10) a、二阶低通滤波器 (10) b、二阶高通滤波器 (11) c、二阶带通滤波器 (12) 2、不同阶数滤波器性能比较 (12) D、滤波器的Matlab设计仿真 (13) 1、二阶低通滤波器 (13) 2、二阶高通滤波器 (14) 五、参考文献 (16)

一、设计要求 自已设计电路系统,构成低通滤波器、高通滤波器和带通滤波器。利用Matlab或其他仿真软件进行仿真。 有源滤波器由是有源元件和无源元件(一般是R和C)共同组成的电滤波器。和无源滤波器相比,它的设计和调整过程较简便,此外还能提供增益。因此,本课程设计中选择了二阶有源滤波器作为主要研究对象。 1、自行设计电路图,确定前置放大电路,有源滤波电路,功率放大电路的方案, 并使用绘图软件(Electronics Worrkbench)画出设计电路,包括低通、高通和带通。 2、所设计的滤波器不仅有滤波功能,而且能起放大作用,负载能力要强。 3、根据给定要求和电路原理图计算和选取单元电路的元件参数。 4、用Matlab或其他仿真软件(FilterLab)对滤波器进行仿真,记录仿真结果。 二、设计原理 1、电容器C具有通高频阻低频的性能。 2、由源滤波器由放大电路部分和滤波电路部分组成。 3、仿真软件可以将滤波器的性能直观的表现出来。 4、各种滤波器的幅频特性:

数字信号处理课程设计参考题目分析

一、数字信号处理课程设计内容及考核要求 1、课程设计内容: (1)从以下四个题目中任选其中一个题目,根据题目要求完成程序的编制、调试和仿真; (2)按照题目要求撰写课程设计报告,回答题目设定的问题。 2、考核要求: (一)课程设计以(6——8人)小组完成,但不能出现设计报告雷同情况,一经发现,雷同报告均按不合格处理;最终以PPT小组答辩作为考核。

题目二:有限冲激响应滤波器(FIR)的设计1. 设计目的: 1、加深对数字滤波器的常用指标理解。

2、学习数字滤波器的设计方法。 3. 掌握FIR 滤波器的原理。 2. 设计内容: 利用MATLAB 编程,分别用窗函数法和等波纹滤波器法设计两种FIR 数字滤波器,指标要求如下: 通带边缘频率:ππ65.045.021=Ω=ΩP P ,,通带峰值起伏:][1dB P ≤α。 阻带边缘频率:ππ75.03.021=Ω=ΩS S ,,最小阻带衰减:][40dB S ≥α。 3. 设计原理: 图1 一个典型数字低通滤波器的结构 低通滤波器的常用指标: ? ? ?≤Ω≤Ω≤ΩΩ≤Ω+≤Ω≤-πδδδ|||)(|||1|)(|1S S P P P H H ,, (1)通带边缘频率P Ω; (2)阻带边缘频率S Ω; (3)通带起伏P δ; (4)通带峰值起伏])[1(log 2010dB P P δα--=; (5)阻带起伏S δ,最小阻带衰减])[(log 2010dB S S δα-=。 4. 设计步骤: 1.熟悉MATLAB 的开发环境和使用方法。 2.按照实验内容,编写一个.m 脚本文件,利用MA TLAB 函数fir1和窗函数法设计FIR 数字滤波器。具体参数为:b=fir1(N,Wn,’ftype ’,taper),N 代表滤波器阶数;Wn 代表滤波器的截止频率(归一化频率),当设计带通和带阻滤波器时,Wn 为双元素相量;ftype 代表滤

信号与系统课程设计报告书

信号与系统课程设计 ——利用matlab实现信号的取样与重构 学院: 工业大学城市学院 专业班级:通信工程C131班 姓名:穆永欢 学号:138213 指导老师:安亚军

目录 摘要 (1) 第一章概述 (1) 第二章设计过程 (2) 2.1设计目的 (2) 2.2设计原理 (2) 2.2.1.MATLAB的介绍 (2) 2.2.2连续时间信号 (3) 2.2.3采样定理 (3) 2.2.4信号重构 (4) 2.3设计容 (4) 2.3.1Sa(t)的临界采样及重构 (4) 2.3.2Sa(t)的过采样及重构 (6) 2.3.3Sa(t)的欠采样及重构 (8) 第三章设计结果分析 (10) 第四章心得体会 (11) 参考文献 (12)

摘要: 本次课程设计以信号与系统和数字信号处理这两门理论与实践紧密结合的课程为基础,经过两个学期的理论学习和上机实验后我们已初步掌握MATLAB软件,通过课程设计更加有助于我们进一步理解和巩固所学知识,学习应用MATLAB 软件的仿真技术,初步掌握线性系统的设计方法,提高分析和解决实际问题的能力,培养独立工作能力。 本实验设计是利用MATLAB实现信号的抽样与重构仿真。通过对该连续的Sa 信号进行抽样,在满足采样定理和不满足采样定理即过抽样和欠抽样两种情况下对连续的Sa信号和采样信号进行频谱分析 【关键词】:信号采样 MATLAB 采样周期频谱信号重构 第一章概述: 针对连续信号的采样与重构问题,利用MATLAB仿真软件平台,仿真不同条件下连续信号的采样信号时域波形和采样后信号频谱、重构信号时域波形和重构后误差波形图。通过对采样周期对采样频谱叠加和信号重构精度的影响、以及信号被采样前后在频域的变化对比分析,得出在不同采样频率的条件下,对应采样信号的时域、频域特性以及重构信号与误差信号也随之产生变化,连续信号可以完全恢复过来。本次课程设计应用MATLAB实现连续信号的采样与重构仿真,了解MATLAB软件,学习应用MATLAB软件的仿真技术。它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解,分析等。初步掌握线性系统的设计方法,培养独立工作能力。加深理解采样与重构的概念,掌握利用MATLAB分析系统频率响应的方法和掌握利用MATLAB实现连续信号采用与重构的方法。计算在临界采样、过采样、欠采样三种不同条件下重构信号的误差,并由此总结采样频率对信号重构误差的影响。

数字信号处理课程设计(对音乐信号的各种处理)

实验1 1、音乐信号的音谱和频谱观察 ○1使用wavread语句读取音乐信号,获取抽样率; ○2输出音乐信号的波形和频谱,观察现象; ○3使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象。 clear all;close all;clc [a,fs,bit]=wavread('c:\MATLAB6p5\work\陪你一起看草原.wav'); size(a); y1=a(:,1); a1=y1(10000:60000) figure; subplot(2,1,1),plot(a); subplot(2,1,2),plot(a1); x1=resample(a1,2,1); %y=resample(x,p,q)返回量的长度是向量x的p/q倍sound(x1,fs); %sound(a,fs); N1=length(a1); F1=fft(a1,N1); w=2/N1*[0:N1-1]; %频谱图横坐标设置 figure; plot(w,abs(F1)); N2=length(a1); t=0:1/N2:1/N2*(N2-1); title('傅利叶变换'); %傅利叶变换; figure; plot(a1); title('时域波形'); %时域波形;

1,以二倍的抽样率听声音信号时,音乐播放的特别快,像被压缩了,播放的时间比原信号短。 2,以二分之一的抽样率听声音信号时,音乐播放的特别慢,像被拉长了,播放的时间比原信号长。 3,原信号频谱截止频率为0.5*pi 实验2 2、音乐信号的抽取(减抽样) ○1观察音乐信号频率上限,选择适当的抽取间隔对信号进行减抽样(给出两种抽取间隔, 代表混叠和非混叠); ○2输出减抽样音乐信号的波形和频谱,观察现象,给出理论解释; ○3播放减抽样音乐信号,注意抽样率的改变,比较不同抽取间隔下的声音,解释现象。 clear all;close all;clc [a,fs,bit]=wavread('c:\MATLAB6p5\work\陪你一起看草原.wav'); size(a); y1=a(:,1); a1=y1(10000:60000)

相关主题
文本预览
相关文档 最新文档