搜档网
当前位置:搜档网 › 用Matlab进行信号与系统的时、频域分析

用Matlab进行信号与系统的时、频域分析

用Matlab进行信号与系统的时、频域分析
用Matlab进行信号与系统的时、频域分析

课程实验报告

题目:用Matlab进行

信号与系统的时、频域分析

学院

学生姓名

班级学号

指导教师

开课学院

日期

用Matlab进行信号与系统的时、频域分析

一、实验目的

进一步了解并掌握Matlab软件的程序编写及运行;

掌握一些信号与系统的时、频域分析实例;

了解不同的实例分析方法,如:数值计算法、符号计算法;

通过使用不同的分析方法编写相应的Matlab程序;

通过上机,加深对信号与系统中的基本概念、基本理论和基本分析方法的理解。

二、实验任务

了解数值计算法编写程序,解决实例;

在Matlab上输入三道例题的程序代码,观察波形图;

通过上机实验,完成思考题;

完成实验报告。

三、主要仪器设备

硬件:微型计算机

软件:Matlab

四、 实验内容

(1) 连续时间信号的卷积

已知两个信号)2()1()(1---=t t t x εε和)1()()(2--=t t t x εε,试分别画出)(),(21t x t x 和卷积)()()(21t x t x t y *=的波形。

程序代码:

T=0.01;

t1=1;t2=2;

t3=0;t4=1;

t=0:T:t2+t4;

x1=ones(size(t)).*((t>t1)-(t>t2));

x2=ones(size(t)).*((t>t3)-(t>t4));

y=conv(x1,x2)*T;

subplot(3,1,1),plot(t,x1);

ylabel('x1(t)');

subplot(3,1,2),plot(t,x2);

ylabel('x2(t)');

subplot(3,1,3),plot(t,y(1:(t2+t4)/T+1));

ylabel('y(t)=x1*x2');

xlabel('----t/s');

(2)已知两个信号)()(t e t x t ε-=和)()(2/t te t h t ε-=,试用数值计算法求卷积,并分别画出)(),(t h t x 和卷积)()()(t h t x t y *=的波形。

程序代码:

t2=3;t4=11;

T=0.01;

t=0:T:t2+t4;

x=exp(-t).*((t>0)-(t>t2));

h=t.*exp(-t/2).*((t>0)-(t>t4));

y=conv(x,h)*T;

yt=4*exp(-t)+2*t.*exp(-1/2*t)-4*exp(-1/2*t);

subplot(3,1,1),plot(t,x);

ylabel('x(t)');

subplot(3,1,2),plot(t,h);

ylabel('h(t)');

subplot(3,1,3),plot(t,y(1:(t2+t4)/T+1),t,yt,'--r');

legend('by numberical','Theoretical');

ylabel('y=x*h');

xlabel('----t/s');

(3)求周期矩形脉冲信号的频谱图,已知s T s A 5.0,1.0,1===τ

程序代码:

a=1;tao=0.1;t=0.5;

n0=t/tao;

n=0:2*n0;

fn_p=a*tao/t*(sin(n*pi*tao/t+eps*(n==0)))./(n*pi*tao/t+eps*(n==0)); fn_pabs=abs(fn_p);

fn_pang=angle(fn_p);

fn_mabs=fliplr(fn_pabs(2:(2*n0+1)));

fn_mang=-fliplr(fn_pang(2:(2*n0+1)));

fnabs=[fn_mabs fn_pabs];

fnang=[fn_mang fn_pang];

subplot(2,1,1),stem((-2*n0:2*n0),fnabs);

text(4,0.11,'amplitude spectrum');

subplot(2,1,2),stem((-2*n0:2*n0),fnang);

text(-2,2,'phase spectrum');

xabel('n';)grid

改变信号的周期,画出波形图。

五、实验思考题

(1)用计算机算卷积是把连续信号进行采样,得到一个个离散数值,然后用数值计算代替连续信号的卷积,请推导数值计算与连续信号的卷积之间的关系。 答:连续函数x (t )和y(t)的卷积为:τττd t h x t h t x t y )()()(*)()(-==?∞

∞- (F2-1)若

x (t )和h(t)分别仅在时间区间),(),(4321t t t t 和有非零值,则

ττετεττετετεεεεd t t t t t h t t x t t t t t h t t t t t x t y ?∞∞-------?---=---*---=)]()()[()]()()[()]

()()[()]()()[()(43214321

要使y(t)为非零值,必须有:1)()(1)()-(4321=-----=--t t t t t t t τετεετε和 从而,应同时满足:42314321,t t t t t t t t t t +<<++<<+<<即和τττ

对卷积公式(1)进行数值计算是近似为:??-??=

?∑∞

-∞=)()()(n k h n x k y n ,记作?*=?-=

∑∞-∞=)()()()()(k h k x n k h n x k y n

(2), 式中,)()()(k h k x t y 和、分别为对、)(t y )(t x 和)(t h 以?为时间间隔进行采样所得的离散序列。相应的可得出结论:若)()(k h k x 和分别仅在序号区间[21,k k ]和[43,k k ] 有非零的值,则离散卷积(卷积和)

)()()(t h t x t y *=有非零值的序号区间为[4231,k k k k ++]。

(2) 改变周期脉冲序列信号的周期,分析其实验结果。

由实验的波形图对比得:

当tao 一定时,

周期脉冲序列信号的周期越大, 谱线间隔越小,相应的主峰峰值越小; 周期脉冲序列信号的周期越小,谱线间隔越大,相应的主峰峰值越大。

matlab频谱分析

设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1.产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2.采集一段含有噪音的语音信号(可以录制含有噪音的信号,或者录制语音后再加进噪音信号),对其进行采样和频谱分析,根据分析结果设计出一合适的滤波器滤除噪音信号。 %写上标题 %设计低通滤波器: [N,Wc]=buttord() %估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc); %设计Butterworth低通滤波器 [h,f]=freqz(); %求数字低通滤波器的频率响应 figure(2); % 打开窗口2 subplot(221); %图形显示分割窗口 plot(f,abs(h)); %绘制Butterworth低通滤波器的幅频响应图 title(巴氏低通滤波器''); grid; %绘制带网格的图像 sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数 subplot(222); plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形 xlabel('时间(seconds)'); ylabel('时间按幅度'); SF=fft(sf,256); %对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换 w= %新信号角频率 subplot(223); plot()); %绘制叠加函数S经过低通滤波器以后的频谱图 title('低通滤波后的频谱图'); %设计高通滤波器 [N,Wc]=buttord() %估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc,'high'); %设计Butterworth高通滤波器 [h,f]=freqz(); %求数字高通滤波器的频率响应 figure(3); subplot(221); plot()); %绘制Butterworth高通滤波器的幅频响应图 title('巴氏高通滤波器'); grid; %绘制带网格的图像 sf=filter(); %叠加函数S经过高通滤波器以后的新函数 subplot(222); plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形 xlabel('Time(seconds)'); ylabel('Time waveform'); w; %新信号角频率 subplot(223);

信号的频谱分析及MATLAB实现

第23卷第3期湖南理工学院学报(自然科学版)Vol.23 No.3 2010年9月 Journal of Hunan Institute of Science and Technology (Natural Sciences) Sep. 2010信号的频谱分析及MATLAB实现 张登奇, 杨慧银 (湖南理工学院信息与通信工程学院, 湖南岳阳 414006) 摘 要: DFT是在时域和频域上都已离散的傅里叶变换, 适于数值计算且有快速算法, 是利用计算机实现信号频谱分析的常用数学工具. 文章介绍了利用DFT分析信号频谱的基本流程, 重点阐述了频谱分析过程中误差形成的原因及减小分析误差的主要措施, 实例列举了MATLAB环境下频谱分析的实现程序. 通过与理论分析的对比, 解释了利用DFT分析信号频谱时存在的频谱混叠、频谱泄漏及栅栏效应, 并提出了相应的改进方法. 关键词: MA TLAB; 频谱分析; 离散傅里叶变换; 频谱混叠; 频谱泄漏; 栅栏效应 中图分类号: TN911.6 文献标识码: A 文章编号: 1672-5298(2010)03-0029-05 Analysis of Signal Spectrum and Realization Based on MATLAB ZHANG Deng-qi, YANG Hui-yin (College of Information and Communication Engineering, Hunan Institute of Science and Technology, Yueyang 414006, China) Abstract:DFT is a Fourier Transform which is discrete both in time-domain and frequency-domain, it fits numerical calculation and has fast algorithm, so it is a common mathematical tool which can realize signal spectrum analysis with computer. This paper introduces the basic process of signal spectrum analysis with DFT, emphasizes the causes of error producing in spectrum analysis process and the main ways to decrease the analysis error, and lists the programs of spectrum analysis based on MATLAB. Through the comparison with the theory analysis, the problems of spectrum aliasing, spectrum leakage and picket fence effect are explained when using DFT to analyze signal spectrum, and the corresponding solution is presented. Key words:MATLAB; spectrum analysis; DFT; spectrum aliasing; spectrum leakage; picket fence effect 引言 信号的频谱分析就是利用傅里叶分析的方法, 求出与时域描述相对应的频域描述, 从中找出信号频谱的变化规律, 以达到特征提取的目的[1]. 不同信号的傅里叶分析理论与方法, 在有关专业书中都有介绍, 但实际的待分析信号一般没有解析式, 直接利用公式进行傅里叶分析非常困难. DFT是一种时域和频域均离散化的傅里叶变换, 适合数值计算且有快速算法, 是分析信号的有力工具. 本文以连续时间信号为例, 介绍利用DFT分析信号频谱的基本流程, 重点阐述频谱分析过程中可能存在的误差, 实例列出MATLAB 环境下频谱分析的实现程序. 1 分析流程 实际信号一般没有解析表达式, 不能直接利用傅里叶分析公式计算频谱, 虽然可以采用数值积分方法进行频谱分析, 但因数据量大、速度慢而无应用价值. DFT在时域和频域均实现了离散化, 适合数值计算且有快速算法, 是利用计算机分析信号频谱的首选工具. 由于DFT要求信号时域离散且数量有限, 如果是时域连续信号则必须先进行时域采样, 即使是离散信号, 如果序列很长或采样点数太多, 计算机存储和DFT计算都很困难, 通常采用加窗方法截取部分数据进行DFT运算. 对于有限长序列, 因其频谱是连续的, DFT只能描述其有限个频点数据, 故存在所谓栅栏效应. 总之, 用DFT分析实际信号的频谱, 其结果必然是近似的. 即使是对所有离散信号进行DFT变换, 也只能用有限个频谱数据近似表示连续频 收稿日期: 2010-06-09 作者简介: 张登奇(1968? ), 男, 湖南临湘人, 硕士, 湖南理工学院信息与通信工程学院副教授. 主要研究方向: 信号与信息处理

用MATLAB进行FFT频谱分析

用MATLAB 进行FFT 频谱分析 假设一信号: ()()292.7/2cos 1.0996.2/2sin 1.06.0+++=t t R ππ 画出其频谱图。 分析: 首先,连续周期信号截断对频谱的影响。 DFT 变换频谱泄漏的根本原因是信号的截断。即时域加窗,对应为频域卷积,因此,窗函数的主瓣宽度等就会影响到频谱。 实验表明,连续周期信号截断时持续时间与信号周期呈整数倍关系时,利用DFT 变换可以得到精确的模拟信号频谱。举一个简单的例子: ()ππ2.0100cos +=t Y 其周期为0.02。截断时不同的持续时间影响如图一.1:(对应程序shiyan1ex1.m ) 图 错误!文档中没有指定样式的文字。.1 140.0160.0180.02 截断时,时间间期为周期整数倍,频谱图 0.0250.03 0100200300400500600 7008009001000 20 40 60 80 100 截断时,时间间期不为周期整数倍,频谱图

其次,采样频率的确定。 根据Shannon 采样定理,采样带限信号采样频率为截止频率的两倍以上,给定信号的采样频率应>1/7.92,取16。 再次,DFT 算法包括时域采样和频域采样两步,频域采样长度M 和时域采样长度N 的关系要符合M ≧N 时,从频谱X(k)才可完全重建原信号。 实验中信号R 经采样后的离散信号不是周期信号,但是它又是一个无限长的信号,因此处理时时域窗函数尽量取得宽一些已接近实际信号。 实验结果如图一.2:其中,0点位置的冲激项为直流分量0.6造成(对应程序为shiyan1.m ) 图 错误!文档中没有指定样式的文字。.2 ?ARMA (Auto Recursive Moving Average )模型: 将平稳随机信号x(n)看作是零均值,方差为σu 2的白噪声u(n)经过线性非移变系统H(z)后的输出,模型的传递函数为 020406080100120140160180200 0.4 0.50.60.7 0.800.050.10.150.20.250.30.350.40.450.5 50100 150

基于Matlab的语音信号处理与分析

系(院)物理与电子工程学院专业电子信息工程题目语音信号的处理与分析 学生姓名 指导教师 班级 学号 完成日期:2013 年5 月 目录 1 绪论 (3) 1.1课题背景及意义 (3) 1.2国内外研究现状 (3) 1.3本课题的研究内容和方法 (4) 1.3.1 研究内容 (4) 1.3.2 开发环境 (4) 2 语音信号处理的总体方案 (4) 2.1 系统基本概述 (4) 2.2 系统基本要求与目的 (4) 2.3 系统框架及实现 (5) 2.3.1 语音信号的采样 (5) 2.3.2 语音信号的频谱分析 (5) 2.3.3 音乐信号的抽取 (5) 2.3.4 音乐信号的AM调制 (5) 2.3.5 AM调制音乐信号的同步解调 (5) 2.4系统设计流程图 (6) 3 语音信号处理基本知识 (6) 3.1语音的录入与打开 (6)

3.2采样位数和采样频率 (6) 3.3时域信号的FFT分析 (7) 3.4切比雪夫滤波器 (7) 3.5数字滤波器设计原理 (8) 4 语音信号实例处理设计 (8) 4.1语音信号的采集 (8) 4.3.1高频调制与低频调制 (10) 4.3.2切比雪夫滤波 (11) 4.3.3 FIR滤波 (11) 5 总结 (12) 参考文献 (13) 语音信号的处理与分析 【摘要】语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。信号处理是Matlab重要应用的领域之一。 本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用MATLAB7.0综合运用GUI界面设计、各种函数调用等来实现语音信号的变频、变幅、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。 最后,本文对语音信号处理的进一步发展方向提出了自己的看法。 【关键词】Matlab 语音信号傅里叶变换低通滤波器

Matlab频谱分析程序

Matlab频谱分析程序

Matlab 信号处理工具箱 谱估计专题 频谱分析 Spectral estimation (谱估计)的目标是基于一个有限的数据集合描述一个信号的功率(在频率上的)分布。功率谱估计在很多场合下都是有用的,包括对宽带噪声湮没下的信号的检测。 从数学上看,一个平稳随机过程n x 的power spectrum (功率谱)和correlation sequence (相关序列)通过discrete-time Fourier transform (离散时间傅立叶变换)构成联系。从normalized frequency (归一化角频率)角度看,有下式 ()()j m xx xx m S R m e ωω∞ -=-∞ = ∑ 注:()() 2 xx S X ωω=,其中 ()/2 /2 lim N j n n N N X x e N ωω=-=∑ πωπ -<≤。 其matlab 近似为X=fft(x,N)/sqrt(N),在下文中()L X f 就是指matlab fft 函数的计算结果了 使用关系2/s f f ωπ=可以写成物理频率f 的函数,

其中s f 是采样频率 ()()2/s jfm f xx xx m S f R m e π∞ -=-∞ = ∑ 相关序列可以从功率谱用IDFT 变换求得: ()()()/2 2//2 2s s s f jfm f j m xx xx xx s f S e S f e R m d df f πωππ ωωπ- -= =?? 序列n x 在整个Nyquist 间隔上的平均功率可以 表示为 ()()() /2 /2 02s s f xx xx xx s f S S f R d df f ππ ωωπ- -= =?? 上式中的 ()()2xx xx S P ωωπ = 以及()()xx xx s S f P f f = 被定义为平稳随机信号n x 的power spectral density (PSD)(功率谱密度) 一个信号在频带[]1 2 1 2 ,,0ωωωω π ≤<≤上的平均功率 可以通过对PSD 在频带上积分求出 []()()2 1 121 2 ,xx xx P P d P d ωωωωωω ωωωω-- = +?? 从上式中可以看出()xx P ω是一个信号在一个无 穷小频带上的功率浓度,这也是为什么它叫做功率谱密度。

离散系统频域分析及matlab实现

《数字信号处理》 课程设计报告 离散系统的频域分析及matlab实现 专业:通信工程 班级:通信11级 组次: 姓名及学号: 姓名及学号:

离散系统的频域分析及matlab 实现 一、设计目的 1.熟悉并掌握matlab 软件的使用; 2.掌握离散系统的频域特性; 3.学会分析离散系统的频域特性的方法; 二、设计任务 1.设计一个系统函数系统的频率响应进行分析; 2.分析系统的频域响应; 3.分析系统的因果稳定性; 4.分析系统的单位脉冲响应; 三、设计原理 1. 系统函数 对于离散系统可以利用差分方程,单位脉冲响应,以及系统函数对系统进行描述。 在本文中利用系统函数H(z)进行描述。若已知一个差分方程为 ∑∑==---=M i N i i i i n y a i n x b n 0 1 )()()(y ,则可以利用双边取Z 变换,最终可以得到系统函数的一 般式H(z),∑∑=-=-== N i i i M i i i z a z b z X z z H 0 0) () (Y )(。若已知系统的单位脉冲响应,则直接将其进行Z 变换就可以得到系统函数H(z)。系统函数表征系统的复频域特性。 2.系统的频率响应: 利用Z 变化分析系统的频率响应:设系统的初始状态为零,系统对输入为单位脉冲序列 ) (n δ的响应输出称为系统的单位脉冲响应h (n )。对h(n)进行傅里叶变换,得到: ∑∞ ∞∞-==-)(jw n j |)(|)(e H w j n n j e e H e n h ?ω) (

其中|)(|jwn e H 称为系统的幅频特性函数,)(ω?称为系统的相位特性函数。)(jw e H 表示的是系统对特征序列jwn e 的响应特性。对于一个系统输入信号为n )(ωj e n x =,则系统的输出信号为jwn e )(jw e H 。由上可以知道单频复指数信号jwn e 通过频率响应函数为)(jw e H 后,输出仍为单频复指数信号,其幅度放大了|)(|jw e H ,相移为)(ω?。 对于系统函数H(z)与H(w)之间,若系统函数H(z)的收敛域包含单位圆|z|=1,则有 jw e z jw z H e H ==|)()(,在MATLAB 中可以利用freqz 函数计算系统的频率响应。 (1)[h,w]=freqz(b,a,n) 可得到n 点频率响应,这n 个点均匀地分布在上半单位圆(即 ),并将这n 点频率记录在w 中,相应的频率响应记录在h 中。n 最好能取2的幂次方,如果缺省,则n=512。 (2)[h,w]=freqz(b,a,n,'whole') 在 之间均匀选取n 个点计算频率响应。 (3)[h,w]=freqz(b,a,n,Fs) Fs 为采样频率(以Hz 为单位),在0~Fs/2频率范围内选取n 个频率点,计算相应的频率响应。 (4)[h,w]=freqz(b,a,n,'whole',Fs) 在0~Fs 之间均匀选取n 个点计算频率响应。 (5)freqz(b,a) 可以直接得到系统的幅频和相频特性曲线。其中幅频特性以分贝的形式给出,频率特性曲线的横轴采用的是归一化频率,即Fs/2=1。 3.系统的因果性和稳定性 3.1因果性 因果系统其单位脉冲响应序列h(n)一定是一个因果序列,其z 域的条件是其系统函数H(z)的收敛域一定包含∞,即∞点不是极点,极点 分布在某个圆内,收敛域在某个圆外。 3.2稳定性 系统稳定就要求∞<∑∞ ∞-|h(n)|,由序列的)(jw e H 存在条件和jw e z jw z H e H ==|)()(可以知道 系统稳定的z 域条件就是H(z)的收敛域包含单位圆,即极点全部分布在单位圆内部。 由上3.1和3.2可知,利用系统的零极点分布图可以判断系统的因果性和稳定性。 若在零极点分布图中,若系统的极点都分布在单位圆内,则此系统是因果系统,若有极点分布在单位圆 外,则此系统是非因果系统。在MATLAB 中可以利用zplane 函数画出系统的零极点分布图。系统函数的零极点图的绘制:zplane(b,a)。其中b 为系统函数的分子,a 为系统函数的分母。 4.系统的单位脉冲响应 设系统的初始状态为零,系统对输入为单位脉冲序列)(n δ的响应输出称为系统的单位脉冲响应h (n )。对于离散系统可以利用差分方程,单位脉冲响应,以及系统函数对系统进行描述。单位脉冲响应是系统的一种描述方法,若已知了系统的系统函数,可以利用系统得出系统的单位脉冲响应。在MATLAB 中利用impz 由函数函数求出单位脉冲响应h(n)。

信号的频域分析及MATLAB实现.doc

《M A T L A B电子信息应用》 课程设计 设计五 信号的频域分析及MATLAB实现 学院: 专业: 班级: 姓名: 学号:

信号的频域分析及MATLAB实现 一、设计目的 通过该设计,理解傅里叶变换的定义及含义,掌握对信号进行频域分析的方法。 二、课程设计环境 计算机 MATLAB软件 三、设计内容及主要使用函数 快速傅里叶变换的应用 1)滤波器频率响应 对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器。其功能就是得到一个特定频率或消除一个特定频率,滤波器是一种对信号有处理作用的器件或电路。主要作用是:让有用信号尽可能无衰减的通过,对无用信号尽可能大的。 滤波器的类型:巴特沃斯响应(最平坦响应),贝赛尔响应,切贝雪夫响应。 滤波器冲激响应的傅里叶变换就是该滤波器的频率响应。

2)快速卷积 卷积定理指出,函数卷积的傅里叶变换是函数傅里叶变换的乘积。即一个域中的卷积相当于另一个域中的乘积,例如时域中的卷积就对应于频域中的乘积。其中表示f 的傅里叶变换。 这一定理对拉普拉斯变换、双边拉普拉斯变换等各种傅里叶变换的变体同样成立。在调和分析中还可以推广到在局部紧致的阿贝尔群上定义的傅里叶变换。 利用卷积定理可以简化卷积的运算量。对于长度为n 的序列,按照卷积的定义进行计算,需要做2n - 1组对位乘法,其计算复杂度为;而利用傅里叶变换将序列变换到频域上后,只需要一组对位乘法,利用傅里叶变换的快速算法之后,总的计算复杂度为。这一结果可以在快速乘法计算中得到应用。 1. 信号的离散傅里叶变换 有限长序列的离散傅里叶变换公式为: kn N j N n e n x k X )/2(10)()(π--=∑= ∑==1_0)/2()(1)(N n kn N j e k X N n x π MATLAB 函数:fft 功能是实现快速傅里叶变换,fft 函数的格式为: ),(x fft y =返回向量x 的不连续fourier 变换。 若)6 cos()(πn n x =是一个N=12的有限序列,利用MATLAB 计算

matlab信号处理学习总结

常用函数 1 图形化信号处理工具,fdatool(滤波器设计),fvtool(图形化滤波器参数查看)sptool (信号处理),fvtool(b,a),wintool窗函数设计.或者使用工具箱 filter design设计。当使用离散的福利叶变换方法分析频域中的信号时,傅里叶变换时可能引起漏谱,因此 需要采用平滑窗, 2数字滤波器和采样频率的关系。 如果一个数字滤波器的采样率为 FS,那么这个滤波器的分析带宽为Fs/2。也就是说这 个滤波器只可以分析[0,Fs/2]的信号.举个例字: 有两个信号,S1频率为20KHz,S2频率为40KHz,要通过数字方法滤除S2。 你的滤波器的采样率至少要为Fs=80HKz,否则就分析不到 S2了,更不可能将它滤掉 了!(当然根据采样定理,你的采样率 F0也必须大于80HK,,Fs和 F0之间没关系不大,可以任取,只要满足上述关系就行。) 3 两组数据的相关性分析 r=corrcoef(x,y) 4 expm 求矩阵的整体的 exp 4 离散快速傅里叶 fft信号处理中,傅里叶变换的典型用途是将信号分解成幅值分量和频率分量)。Ft为连续傅里叶变换。反傅里叶 ifft 5 ztrans(),Z变换是把离散的数字信号从时域转为频率 6 laplace()拉普拉斯变换是把连续的的信号从时域转为频域 7 sound(x)会在音响里产生 x所对应的声音 8 norm求范数,det行列式,rank求秩 9 模拟频率,数字频率,模拟角频率关系 模拟频率f:每秒经历多少个周期,单位Hz,即1/s; 模拟角频率Ω是指每秒经历多少弧度,单位rad/s; 数字频率w:每个采样点间隔之间的弧度,单位rad。 Ω=2pi*f; w = Ω*T 10 RMS求法 Rms = sqrt(sum(P.^2))或者norm(x)/sqrt(length(x) var方差的开方是std标准差,RMS应该是norm(x)/sqrt(length(x))吧. 求矩阵的RMS:std(A(:)) 11 ftshift 作用:将零频点移到频谱的中间 12 filtfilt零相位滤波, 采用两次滤波消除系统的非线性相位, y = filtfilt(b,a,x);注意x的长度必须是滤波器阶数的3倍以上,滤波器的 阶数由max(length(b)-1,length(a)-1)确定。 13 [h,t]=impz(b,a,n,fs),计算滤波器的冲激响应 h为n点冲击响应向量 [h,x]=freqz(b,a,n,fs)计算频响,有fs时,x为频率f,无fs,x为w角频率, 常用于查看滤波器的频率特性 14 zplane(z,p) 画图零极点分布图 15 beta=unwarp(alpha) 相位会在穿越+-180发生回绕,可将回绕的 16 stepz 求数字滤波器的阶跃响应 [h,t] = stepz(b,a,n,fs) fvtool(b1,a1,b2,a2,...bn,an) fvtool(Hd1,Hd2,...) h = fvtool(...) 15 IIR数字滤波器设计方法 1 先根据已知带同参数求出最佳滤波器阶数和截止频率 [n,Wn] = buttord(Wp,Ws,Rp,Rs);

基于matlab的信号分析与处理

基于m a t l a b的信号分 析与处理 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

山东建筑大学 课程设计说明书题目:基于MATLAB的信号分析与处理课程:数字信号处理课程设计 院(部):信息与电气工程学院 专业:通信工程 班级:通信111班 学生姓名: 学号: 指导教师: 完成日期: 2014年1月

目录4

摘要 这次是基于MATLAB的信号分析与处理。所谓数字滤波器,就是输入、输出都是数字信号的,通过数值计算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。常用的经典滤波器有低通、高通、带通、带阻。 首先产生一个连续信号,包含低频、中频、高频分量;对其进行采样,得到数字信号;对数字信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通、低通、带通滤波器,绘制滤波器的幅频及相频特性;用所设计的滤波器对信号滤波,并绘制出滤波后的频谱图。 关键词:MATLAB; FFT;滤波器;信号产生;频谱分析

1设计目的和要求 产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2设计原理 信号的采样要符合奈奎斯特采样定律,一般为被采信号最高频率的2倍,只有这样,才能保证频域不混叠,也就是采样出来数字信号中包含了被采信号的所有信息,而且没有引入干扰。这就是信号的时域采样。 频谱分析是指对信号进行频域谱的分析,观察其频域的各个分量的功率大小,其理论基础是傅立叶变换,现在一般采用数字的方法,也就是将时域信号数字化后做FFT,可以得到频域的波形。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。 IIR滤波器的设计原理: IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。 IIR数字滤波器的设计步骤: (1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; (2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器; (3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器; (4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。 本课程设计设计思想:首先利用MATLAB分别产生低频、中频、高频信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到数字信号;对信

用Matlab进行信号与系统的时、频域分析

课程实验报告 题目:用Matlab进行 信号与系统的时、频域分析 学院 学生姓名 班级学号 指导教师 开课学院 日期 用Matlab进行信号与系统的时、频域分析 一、实验目的 进一步了解并掌握Matlab软件的程序编写及运行; 掌握一些信号与系统的时、频域分析实例; 了解不同的实例分析方法,如:数值计算法、符号计算法; 通过使用不同的分析方法编写相应的Matlab程序; 通过上机,加深对信号与系统中的基本概念、基本理论和基本分析方法的理解。 二、实验任务 了解数值计算法编写程序,解决实例; 在Matlab上输入三道例题的程序代码,观察波形图; 通过上机实验,完成思考题; 完成实验报告。 三、主要仪器设备

硬件:微型计算机 软件:Matlab 四、 实验内容 (1) 连续时间信号的卷积 已知两个信号)2()1()(1---=t t t x εε和)1()()(2--=t t t x εε,试分别画出)(),(21t x t x 和卷积)()()(21t x t x t y *=的波形。 程序代码: T=0.01; t1=1;t2=2; t3=0;t4=1; t=0:T:t2+t4; x1=ones(size(t)).*((t>t1)-(t>t2)); x2=ones(size(t)).*((t>t3)-(t>t4)); y=conv(x1,x2)*T; subplot(3,1,1),plot(t,x1); ylabel('x1(t)'); subplot(3,1,2),plot(t,x2); ylabel('x2(t)'); subplot(3,1,3),plot(t,y(1:(t2+t4)/T+1)); ylabel('y(t)=x1*x2'); xlabel('----t/s'); (2)已知两个信号)()(t e t x t ε-=和)()(2/t te t h t ε-=,试用数值计算法求卷积,并分别画出)(),(t h t x 和卷积)()()(t h t x t y *=的波形。 程序代码: t2=3;t4=11; T=0.01; t=0:T:t2+t4; x=exp(-t).*((t>0)-(t>t2)); h=t.*exp(-t/2).*((t>0)-(t>t4)); y=conv(x,h)*T; yt=4*exp(-t)+2*t.*exp(-1/2*t)-4*exp(-1/2*t); subplot(3,1,1),plot(t,x); ylabel('x(t)'); subplot(3,1,2),plot(t,h); ylabel('h(t)'); subplot(3,1,3),plot(t,y(1:(t2+t4)/T+1),t,yt,'--r'); legend('by numberical','Theoretical'); ylabel('y=x*h'); xlabel('----t/s'); (3)求周期矩形脉冲信号的频谱图,已知s T s A 5.0,1.0,1===τ

Matlab对采样数据进行频谱分析

使用Matlab对采样数据进行频谱分析 1、采样数据导入Matlab 采样数据的导入至少有三种方法。 第一就是手动将数据整理成Matlab支持的格式,这种方法仅适用于数据量比较小的采样。 第二种方法是使用Matlab的可视化交互操作,具体操作步骤为:File --> Import Data,然后在弹出的对话框中找到保存采样数据的文件,根据提示一步一步即可将数据导入。这种方法适合于数据量较大,但又不是太大的数据。据本人经验,当数据大于15万对之后,读入速度就会显著变慢,出现假死而失败。 第三种方法,使用文件读入命令。数据文件读入命令有textread、fscanf、load 等,如果采样数据保存在txt文件中,则推荐使用 textread命令。如 [a,b]=textread('data.txt','%f%*f%f'); 这条命令将data.txt中保存的数据三个三个分组,将每组的第一个数据送给列向量a,第三个数送给列向量b,第二个数据丢弃。命令类似于C语言,详细可查看其帮助文件。文件读入命令录入采样数据可以处理任意大小的数据量,且录入速度相当快,一百多万的数据不到20秒即可录入。强烈推荐! 2、对采样数据进行频谱分析 频谱分析自然要使用快速傅里叶变换FFT了,对应的命令即 fft ,简单使用方法为:Y=fft(b,N),其中b即是采样数据,N为fft数据采样个数。一般不指定N,即简化为Y=fft(b)。Y即为FFT变换后得到的结果,与b的元素数相等,为复数。以频率为横坐标,Y数组每个元素的幅值为纵坐标,画图即得数据b的幅频特性;以频率为横坐标,Y数组每个元素的角度为纵坐标,画图即得数据b的相频特性。典型频谱分析M程序举例如下: clc fs=100; t=[0:1/fs:100]; N=length(t)-1;%减1使N为偶数 %频率分辨率F=1/t=fs/N p=1.3*sin(0.48*2*pi*t)+2.1*sin(0.52*2*pi*t)+1.1*sin(0.53*2*pi*t)... +0.5*sin(1.8*2*pi*t)+0.9*sin(2.2*2*pi*t); %上面模拟对信号进行采样,得到采样数据p,下面对p进行频谱分析 figure(1) plot(t,p); grid on title('信号 p(t)'); xlabel('t') ylabel('p')

信号分析与处理MATLAB仿真程序

一正弦信号 w=pi/6; ns1=0;nf1=48; n1=[ns1:nf1]; x1=sin(w*n1); subplot(1,1,1); stem(n1,x1); axis([0,50,-1.2,1.2]); xlabel('n');ylabel('x');title('正弦信号'); grid on; 二周期信号 x=[1 1 0 -1 -1 1 0 0]; xn1=x'*ones(1,8); xn1=xn1(:); xn1=xn1'; n1=0:length(xn1)-1; subplot(1,1,1); stem(n1,xn1); axis([0,42,-1.5,1.5]); xlabel('n');ylabel('xn');title('周期信号'); grid on; 三高斯随机信号 n1=30; xn1=randn(1,n1); subplot(1,1,1); stem(xn1); axis([0,32,-4,4]); xlabel('n');ylabel('xn');title('高斯随机信号'); grid on; 四正选信号求特征值: >> clear w=pi/6; ns1=0;nf1=48; >> n1=[ns1:nf1]; >> xn1=sin(w*n1); >> x=mean(xn1); >> y=var(xn1); >> x x = -1.0931e-017 >> y y = 0.5000 五周期信号特征值计算: >> clear >> x=[1 1 0 -1 -1 1 0 0]; xn1=x'*ones(1,8);

xn1=xn1(:); xn1=xn1'; n1=0:length(xn1)-1; >> u=mean(xn1); >> v=var(xn1); >> u u = 0.1250 >> v v = 0.6190 六高斯随机信号特征值计算: >> clear >> n1=30; xn1=randn(1,n1); >> m=mean(xn1); >> v=var(xn1); >> m m = -0.1349 >> v v = 1.3187 七信号运算 w=pi/6; ns1=0;nf1=48;n1=[ns1:nf1]; xn1=sin(w*n1); x=[1 1 0 -1 -1 1 0 0]; xn2=x'*ones(1,8); xn2=xn2(:); xn2=xn2'; ns2=0;nf2=length(xn2)-1;n2=0:nf2;ny=0:max(nf1,nf2); y1=zeros(1,length(ny));y2=y1; y1(find(ny<=nf1))=xn1;y2(find(ny<=nf2))=xn2; ya=y1+y2;ys=y1-y2; subplot(3,2,1);stem(n1,xn1); xlabel('n');ylabel('xn');title('正弦信号');grid on; subplot(3,2,2);stem(ny,y1); xlabel('n');ylabel('xn');title('修正后的正弦信号');grid on; subplot(3,2,3);stem(n2,xn2); xlabel('n');ylabel('xn');title('周期信号');grid on; subplot(3,2,4);stem(ny,y2); xlabel('n');ylabel('xn');title('修正后的周期信号');grid on;

Matlab频谱分析程序

Matlab 信号处理工具箱 谱估计专题 频谱分析 Spectral estimation (谱估计)的目标是基于一个有限的数据集合描述一个信号的功率(在频率上的)分布。功率谱估计在很多场合下都是有用的,包括对宽带噪声湮没下的信号的检测。 从数学上看,一个平稳随机过程n x 的power spectrum (功率谱)和correlation sequence (相关序列)通过discrete-time Fourier transform (离散时间傅立叶变换)构成联系。从normalized frequency (归一化角频率)角度看,有下式 ()()j m xx xx m S R m e ωω∞ -=-∞ = ∑ 注:()() 2 xx S X ωω=,其中( )/2 /2 lim N j n n N n N X x e ωω=-=∑ πωπ-<≤。其matlab 近似为X=fft(x,N)/sqrt(N),在下文中()L X f 就是指matlab fft 函数的计算结果了 使用关系2/s f f ωπ=可以写成物理频率f 的函数,其中s f 是采样频率 ()()2/s jfm f xx xx m S f R m e π∞ -=-∞ = ∑ 相关序列可以从功率谱用IDFT 变换求得: ()()()/2 2//2 2s s s f jfm f j m xx xx xx s f S e S f e R m d df f πωπ π ωωπ--= =? ? 序列n x 在整个Nyquist 间隔上的平均功率可以表示为 ()()() /2 /2 02s s f xx xx xx s f S S f R d df f π π ωωπ--= =? ?

基于matlab的信号分析与处理

山东建筑大学 课程设计说明书题目:基于MATLAB的信号分析与处理课程:数字信号处理课程设计 院(部):信息与电气工程学院 专业:通信工程 班级:通信111班 学生姓名: 学号: 指导教师: 完成日期:2014年1月

目录 摘要 (Ⅰ) 1 设计目的和要求 (1) 2 设计原理 (2) 3 设计内容 (3) 3.1 程序源代码 (4) 3.2 调试分析与过程描述 (7) 3.3 结果分析 (12) 总结 (13) 致谢 (14) 参考文献 (15)

摘要 这次是基于MATLAB的信号分析与处理。所谓数字滤波器,就是输入、输出都是数字信号的,通过数值计算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。常用的经典滤波器有低通、高通、带通、带阻。 首先产生一个连续信号,包含低频、中频、高频分量;对其进行采样,得到数字信号;对数字信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通、低通、带通滤波器,绘制滤波器的幅频及相频特性;用所设计的滤波器对信号滤波,并绘制出滤波后的频谱图。 关键词:MATLAB; FFT;滤波器;信号产生;频谱分析

1设计目的和要求 产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2设计原理 信号的采样要符合奈奎斯特采样定律,一般为被采信号最高频率的2倍,只有这样,才能保证频域不混叠,也就是采样出来数字信号中包含了被采信号的所有信息,而且没有引入干扰。这就是信号的时域采样。 频谱分析是指对信号进行频域谱的分析,观察其频域的各个分量的功率大小,其理论基础是傅立叶变换,现在一般采用数字的方法,也就是将时域信号数字化后做FFT,可以得到频域的波形。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。 IIR滤波器的设计原理: IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。 IIR数字滤波器的设计步骤: (1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; (2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器; (3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器; (4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。 本课程设计设计思想:首先利用MATLAB分别产生低频、中频、高频信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到数字信号;对信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通,低通,带通滤波器,得到滤波器的幅频及相频特性。

利用matlab怎样进行频谱分析、、

利用matlab怎样进行频谱分析 图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。傅立叶变换在实际中有非常明显的物理意义,设f是一个能量有限的模拟信号,则其傅立叶变换就表示f的谱。从纯粹的数学意义上看,傅立叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅立叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅立叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数,傅立叶逆变换是将图像的频率分布函数变换为灰度分布函数。 这样通过观察傅立叶变换后的频谱图,也叫功率图,我们首先就可以看出,图像的能量分布,如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与邻域差异都不大,梯度相对较小),反之,如果频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。将频谱移频到圆心除了可以清晰地看出图像频率分布以外,还有一个好处,它可以分离出有周期性规律的干扰信号,比如正弦干扰,一副带有正弦干扰,移频到原点的频谱图上可以看出除了中心以外还存在以某一点为中心,对称分布的亮点集合,这个集合就是干扰噪音产生的,这时可以很直观的通过在该位置放置带阻滤波器消除干扰。另外我还想说明以下几点: 1、图像经过二维傅立叶变换后,其变换系数矩阵表明: 若变换矩阵Fn原点设在中心,其频谱能量集中分布在变换系数短阵的中心附近(图中阴影区)。若所用的二维傅立叶变换矩阵Fn的原点设在左上角,那么图像信号能量将集中在系数矩阵的四个角上。这是由二维傅立叶变换本身性质决定的。同时也表明一股图像能量集中低频区域。 2、变换之后的图像在原点平移之前四角是低频,最亮,平移之后中间部分是低频,最亮,亮度大说明低频的能量大(幅角比较大)。 从计算机处理精度上就不难理解,一个长度为N的信号,最多只能有N/2+1个不同频率,再多的频率就超过了计算机所能所处理的精度范围)X[]数组又分两种,一种是表示余弦波的不同频率幅度值:Re X[],另一种是表示正弦波的不同频率幅度值:Im X[],Re是实数(Real)的意思,Im是虚数(Imagine)的意思,采用复数的表示方法把正余弦波组合起来进行表示,但这里我们不考虑复数的其它作用,只记住是一种组合方法而已,目的是为了便于表达(在后面我们会知道,复数形式的傅立叶变换长度是N,而不是N/2+1)。

相关主题