文档库 最新最全的文档下载
当前位置:文档库 › 离散信号时域分析的MATLAB实现

离散信号时域分析的MATLAB实现

离散信号时域分析的MATLAB实现
离散信号时域分析的MATLAB实现

实验十一 离散信号时域分析的MATLAB 实现

一、实验目的

1. 熟悉MATLAB 编程方法、常用语句和可视化绘图技术;

2. 掌握序列时域运算的MATLAB 编程方法。

二、实验原理

在用MATLAB 表示离散信号并将其可视化时,由于矩阵元素个数是有限的,因此无法表示无限长序列;另外,离散信号无法进行符号运算。在MATLAB 中,绘制离散序列波形图的专用命令为stem( )。其格式有:

(1)stem(k,f)

在图形窗口中,绘制出样值顶部为空心圆的序列f (k)波形图。 (2)stem(k,f ,’fill’)

在图形窗口中,绘制出样值顶部为实心圆的序列f (k)波形图。

下面介绍离散序列的MATLAB 表示、基本运算(相加、相乘、平移、反转、尺度变换)、卷积和的实现及其图形显示方法。

1.单位序列δ(k ) 单位序列的定义:

??

?≠==0

,00,1)(k k k δ

下面为绘制δ(k-k 0)波形图的子程序:

function impseq(k1,k2,k0) %单位序列δ(k-k0),k0为时移量

k=k1:k2; %k1,k2为序列的起止序列号 n=length(k); x=zeros(1,n);

x(1,k0-k1+1)=1; %在k0时刻信号赋值为1 stem(k,x,'fill') axis([k1,k2,0,1.1])

title('单位序列d(k-k0)')

输入如下命令,则可获得单位序列δ(k-3)

的波形图,如图11-1所示。

impseq(-1,5,3)

图11-1

2.单位阶跃序列ε(k ) 单位序列的定义:

??

?<≥=0

,00,1)(k k k ε

下面为绘制ε(k-k 0)波形图的MATLAB 子程序。

function stepseq(k1,k2,k0) %单位阶跃序列,k0为时移量 k=k1:k0-1; %k1,k2为序列的起止序列号 kk=length(k);

x=zeros(1,kk); %k0前信号赋值为0 stem(k,x,'fill') %绘出k1~k0-1的波形(0值) hold on

n=k0:k2; nn=length(n);

x=ones(1,nn); %k0后信号赋值为1 stem(n,x,'fill') %绘出k0~k2的波形(1值) hold off

axis([k1,k2,0,1.1]) title('单位阶跃序列')

运行如下命令,则可获得单位序列ε(k-3)的波形图,如图11-2所示。

stepseq(-1,10,3)

3.序列的相加(减)、相乘运算

对序列向量f 1(k)、f 2(k)相加或相乘,可以通过补零的方式使f 1(k)、f 2(k)成为具有相同维数的序列向量s 1(k)、s 2(k),然后对s 1(k)、s 2(k)相加或相乘。因此,序列向量f 1(k)、f 2(k)的维数可以不同。以下函数可实现序列向量f 1(k)、f 2(k)的相加或相乘运算。

function [f,k]=sigadd(f1,k1,f2,k2)

%实现序列f1,f2的相加,相减,相乘,可据实际需要作选择 %f1,k1;f2,k2是参加运算的序列向量及其时间向量 %f,k 作为返回的和(差,积)序列及其时间向量 %将f1,f2转换成等长序列s1,s2

k=min(min(k1),min(k2)):max(max(k1),max(k2)); s1=zeros(1,length(k)); s2=s1; %初始化序列 s1(find((k>=min(k1))&(k<=max(k1))==1))=f1; s2(find((k>=min(k2))&(k<=max(k2))==1))=f2; f=s1+s2; %序列相加 % f=s1-s2; %序列相减 % f=s1.*s2; %序列相乘

stem(k,f,'fill')

axis([(min(min(k1),min(k2))-1),(max(max(k1),max(k2))+1),(min(f)-0.5),(max(f)+0.5)])

图11-2

例11-1.已知序列}1,1,1{)(},2,1,3,2,3{)(21↓

=-=k f k f 。编写M 文件求)()(21k f k f +。 解:运行如下M 文件,可实现)()(21k f k f +,结果如图11-1所示。 k1=-1:3; f1=[-3 2 3 1 2]; k2=-1:1; kk=length(k2); f2=ones(1,kk);

subplot(2,2,1);stem(k1,f1,'fill');title('f1(k)');

subplot(2,2,2);stem(k2,f2,'fill');title('f2(k)');

subplot(2,2,3);[f,k]=sigadd(f1,k1,f2,k2);title('f1(k)+f2(k)')

若要实现序列f 1(k)、f 2(k)的相乘或相减运算,只需将xlyunxuan(f1,k1,f2,k2)子程序中的相乘或相减语句设置为有效即可。

4.序列的平移、反转 (1)序列的平移

序列的平移可以看作是将序列的时间序号向量平移,而对应原时间序号的序列样值不变。要将序列左移k 0个单位时,则将时间序号向量都减小k 0个单位;若要右移k 0个单位时,则将时间序号向量都增大k 0个单位。实现序列平移的子函数如下:

function [x,n]=sigshift(f,k,k0) %实现序列平移:x(k)=f(k-k0) n=k+2;x=f;

subplot(1,2,1); stem(k,f,'fill');title('f(k)');xlabel('k'); subplot(1,2,2); stem(n,x,'fill');title('f(k-k0)');xlabel('k');

例11-2.已知指数序列)()5.0()(k k f k

ε=,绘出f (k -2)的波形图。 解:运行如下M 文件,可得如图11-2所示的结果。

k=0:5;

f=(0.5).^k; %定义序列f(k)

[x,k]=sigshift(f,k,2) %调用平移子函数 (2)序列的反转

序列的反转可用MATLAB 中的fliplr 函数实现。以下是实现序列反转及其结果可视化的函数。

function [x,n]=sigfold(f,k) %实现序列反转:x(k)=f(-k) x=fliplr(f);

n=-fliplr(k);

subplot(1,2,1); stem(k,f,'fill');title('f(k)');xlabel('k'); subplot(1,2,2); stem(n,x,'fill');title('f(-k)');xlabel('k');

图11-2

图11-1

5.序列的卷积运算

序列f 1(k)、f 2(k)的卷积和运算f (k)= f 1(k)*f 2(k),可由MATLAB 的conv( )函数实现,调用格式为:

f=conv(f1,f2)

如:已知序列:??

?≤≤=???≤≤-=其他

,其他,030,2)(,02

2,1)(21k k f k k f k ,运行如下M 文件可求其卷积和:

k1=-2:2;

f1=ones(1,length(k1)); k2=0:3; f2=2.^k2; f=conv(f1,f2) 结果为:

f =

1 3 7 15 15 14 1

2 8

可见,conv( )函数不需要给定f 1(k)、f 2(k)的非零样值的时间序号,也不返回卷积和序列f (k) 的时间序号;此外,conv( )假定f 1(k)、f 2(k)都是从k=0开始,这就限制了它的应用范围。因此,要对从任意k 值开始的序列进行卷积和运算,同时正确标识出函数conv( )的计算结果各量f ,还须构造序列f 1(k)、f 2(k)和f (k)的对应序号向量。下面是求序列f 1(k)、f 2(k)卷积和的实用函数dconv( ),它可实现序号向量的返回。

function [f,k]=dconv(f1,k1,f2,k2) %求卷积和:f(k)=f1(k)*f2(k) f=conv(f1,f2)

k0=k1(1)+k2(1); %计算序列f 非零样值的起点位置k0 k3=length(k1)+length(k2)-2; %计算序列f 非零样值的宽度 k=k0:k0+k3; %确定序列f 非零样值的序号向量 subplot(2,2,1); stem(k1,f1,'fill');title('f1(k)');xlabel('k'); subplot(2,2,2); stem(k2,f2,'fill');title('f2(k)');xlabel('k'); subplot(2,2,3); stem(k,f,'fill');title('f(k)=f1(k)*f2(k)');xlabel('k'); h=get(gca,'position'); h(3)=2.5*h(3); set(gca,'position',h)

例11-3. 已知序列:??

?≤≤=???≤≤-=其他

,其他,030,2)(,02

2,5.0)(21k k f k k k f k ,求其卷积和。 解:运行如下M 文件

k1=-2:2;

f1=0.5.*k1; %定义序列f1(k)

k2=0:3;

f2=2.^k2; %定义序列f2(k)

[f,k]=dconv(f1,k1,f2,k2); %求卷积和 图形结果则如图11-3所示,文本结果如下:

f =

Columns 1 through 6

-1.0000 -2.5000 -5.0000 -9.5000 -2.0000 4.0000 Columns 7 through 8 8.0000 8.0000 6.离散信号相关函数的计算

在数字信号处理中,广泛用到信号的相关运算。两个序列的互相关用来度量这两个序列的相似程度。给定两个长度相同、能量受限的序列x(k)和y(k),它们的互相关函数是另一个序列,定义为:

)(*)()()()(n y n x n k y k x n R k xy -=

-=

∑∞

-∞

=

其中,n 称为滞后参数。当x(k)=y(k)时,称为x(k)的自相关函数,它提供了序列位置不同基准情况下自相似程度的度量。由于信号的自相关函数与信号的功率谱密度是一对傅里叶变换对,这为信号的功率谱计算提供了另一重要途径。

由互相关的定义式可知,x(k)和y(k)的互相关函数可以由序列x(n)和y(-n)的卷积和求得,实现互相关函数 correlation (x,k1,y,k2)运算的程序如下:

function [Rxy,n]=correlation(x,k1,y,k2)

[y0,k0]=sigfold(y,k2); %y(k)反转,生成y(-k) [Rxy,n]=dconv(x,k1,y0,k0); hold off

subplot(3,1,1);stem(k1,x,'fill');xlabel('k');ylabel('x(k)'); subplot(3,1,2);stem(k2,y,'fill');xlabel('k');ylabel('y(k)'); subplot(3,1,3);stem(n,Rxy,'fill');xlabel('n');ylabel('Rxy(n)');

例11-4.设]1,3,1,1,5,3,2[)(-=↓

k x 为原型序列,y(k)为x(k)加入噪声干扰并移位后的序列:

y(k)=x(k-1)+w(k)

其中,w(k)为具有零均值和单位方差的高斯序列。计算序列y(k)和x(k)的互相关。

解:运行如下M 文件,可得如图11-4的结果。

k1=-3:3;

x=[2 3 5 1 -1 3 1]; %生成x(k)

[y2,k2]=sigshift(x,k1,1); %生成x(k-1)

w=randn(1,length(y2)); %模拟噪声信号w(k)

kw=k2;

[y,k]=sigadd(y2,k2,w,kw); %生成y(k)=x(k-1)+w(k) [Rxy,n]=correlation(x,k1,y,k) %互相关运算

三. 实验内容与步骤

1.编写M文件,绘制复指数序列

k

j

k e

j

k

x

?

?

?

?

?

?

=

+

=4

2

)

1(

)

(

π

在2

2≤

-k范围内x(k)的

实部、虚部、模值和相角的波形图。

2.已知序列f1(k)如图11-5(A)所示,编写M文件,绘出如下序列的波形:

(1)f1(-k+2),(2)f1(k-2)ε(k-1)。

3.已知序列f1(k)、f2(k)如图11-5所示,编写M文件,求离散卷积和f1(k)*f2(k),并绘出其波形。

4.编写M文件,求如图11-5所示序列f1(k)、f2(k)的互相关函数。

图11-5

四. 实验报告要求

列出M文件和运行结果。

总结运用函数stem、conv、fliplr以及相关子函数等进行序列表示、运算(相加、相乘、平移、反转、卷积和、相关)和可视化的实现方法。

信号的频谱分析及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频谱分析

设计出一套完整的系统,对信号进行频谱分析和滤波处理; 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的语音信号处理与分析

系(院)物理与电子工程学院专业电子信息工程题目语音信号的处理与分析 学生姓名 指导教师 班级 学号 完成日期: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 语音信号傅里叶变换低通滤波器

典型连续信号和离散信号时域波形图

一.典型连续信号和离散信号的时域波形。 1.单边指数信号)()(t u Ae t y t α=; 2.单位冲激信号)()(0t t t y +=δ; 3.单位阶跃信号)()(0t t u t y +=; 4.矩形脉冲信号)]()([)(21t t u t t u A t y +-+?=; 5.正弦信号)()sin()(t u t A t y ω?=; 6.单位序列)()(0n n n y +=δ; 7.单位阶跃序列)()(0n n u n y +=; 8.单位矩形序列)()()(21n n u n n u n y +-+=; 9.指数序列)()(n u a A n y n ?=; 10.正弦序列)()sin()(n u n A n y ω?=。

单边指数信号 function zhishu(A,a,t1,t2,dt) t1=0 t2=10 A=1 A=-0.4 dt=0.01 t=t1:dt:t2; y=A*exp(a*t); plot(t,y) axis([t1,t2,0,1.2]) xlabel('t') ylabel('y(t)') title(' 单边指数信号') 单位冲激信号 function chongji(t1,t2,t0) dt=0.01; t1=10; t2=-5; t=t1:dt:t2; n=length(t); x=zeros(1,n); x(1,(-t0-t1)/dt+1)=1/dt; stairs(t,x); axis([t1,t2,0,1.2/dt]) xlabel('t') ylabel('y(t)') title('单位冲激信号')

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);

时域离散信号的产生与基本运算

实验一 时域离散信号的产生与基本运算 一、实验目的 1、了解常用的时域离散信号及其特点。 2、掌握MATLAB 产生常用时域离散信号的方法。 3、掌握时域离散信号简单的基本运算方法。 二、实验内容 1、自己设定参数,分别表示并绘制单位抽样序列、单位阶跃序列、正弦序列、 实指数序列、随机序列。 2、自己设定参数,分别表示并绘制信号移位、信号相加、信号相乘、信号翻转、 信号和、信号积、信号能量。 3、已知信号 (1) 描绘)(n x 序列的波形。 (2) 用延迟的单位脉冲序列及其加权和表示)(n x 序列。 (3) 描绘以下序列的波形:)2()(),2(2)(),2(2)(321n x n x n x n x n x n x -=+=-= 三、实现步骤 1、自己设定参数,分别表示并绘制单位抽样序列、单位阶跃序列、正弦序列、 实指数序列、随机序列。 (1)单位抽样序列 程序: x=zeros(1,10);

x(2)=1; stem(x,'filled') axis([0,10,-0.2,1]); title('μ¥??3é?ùDòáD'); -0.20 0.2 0.4 0.6 0.8 图 1 (2)单位阶跃序列 程序: N=10; u=ones(1,N); stem(u,'filled') axis([-10,10,0,1]); title('μ¥???×??DòáD');

00.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 单位阶跃序列 图 2 (3)正弦序列 程序: x=-20:1:20; y=sin(0.2*pi.*x+0.5*pi); stem(x,y,'filled'); axis([-20,20,-2,2]); title('?y?òDòáD');

基于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产生时域离散信号

实验1用M A T L A B产生时域离散信号 一、.实验目的: 1、了解常用时域离散信号及其特点 2、掌握用MATLAB产生时域离散信号的方法 二、实验内容及步骤 1、阅读并上机验证实验原理部分的例题程序,理解每一条语句的含义。 改变例题中的有关参数(如信号的频率、周期、幅度、显示时间的取值范围、采样点数等),观察对信号波形的影响。 2、编写程序,产生以下离散序列: n1=-3;n2=4;n0=0; n=n1:n2; x=[n==n0]; stem(n,x,'filled'); axis([n1,n2,0,*max(x)]); xlabel('时间(n)');ylabel('幅度x(n)'); title('单位脉冲序列'); (2)n1=-5;n2=5;n0=0; n=n1:n2; x=[n>=n0]; stem(n,x,'filled') axis([n1,n2,0,*max(x)]); xlabel('时间(n)');ylabel('幅度x(n)'); title('单位阶跃序列'); n1=20;a=;w=*pi; n=0:n1; x=exp((a+j*w)*n); subplot(2,2,1);plot(n,real(x)); title('复指数信号的实部'); subplot(2,2,3);stem(n,real(x),'filled'); title('复指数序列的实部'); subplot(2,2,2);plot(n,imag(x)); title('复指数信号的虚部'); subplot(2,2,4);stem(n,imag(x),'filled'); title('复指数序列的虚部');

信号分析与处理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;

实验一 时域离散信号与系统变换域分析(2015)资料

实验一 时域离散信号与系统变换域分析 一、实验目的 1.了解时域离散信号的产生及基本运算实现。 2.掌握离散时间傅里叶变换实现及系统分析方法。 3. 熟悉离散时间傅里叶变换性质。 4. 掌握系统Z 域分析方法。 5. 培养学生运用软件分析、处理数字信号的能力。 二、实验设备 1、计算机 2、Matlab7.0以上版本 三、实验内容 1、对于给定的时域离散信号会进行频谱分析,即序列的傅里叶变换及其性质分析。 2、对于离散系统会进行频域分析及Z 域分析。包括频谱特性、零极点画图、稳定性分析。 3、对于差分方程会用程序求解,包括求单位冲击序列响应,零输入响应、零状态响应、全响应,求其系统函数,及其分析。 4、信号时域采样及其频谱分析,序列恢复。 5、扩展部分主要是关于语音信号的读取及其播放。 四、实验原理 1、序列的产生及运算 在Matlab 中自带了cos 、sin 、exp (指数)等函数,利用这些函数可以产生实验所需序列。 序列的运算包括序列的加法、乘法,序列)(n x 的移位)(0n n x -,翻褶)(n x -等。序列的加法或乘法指同序号的序列值逐项对应相加或相乘,但Matlab 中“+”“.*”运算是对序列的值直接进行加或乘,不考虑两序列的序号是否相同,因此编程时考虑其序号的对应。 2、序列的傅里叶变换及其性质 序列的傅里叶变换定义:)(|)(|)()(ω?ωωω j j n n j j e e X e n x e X ==∑∞-∞=-,其幅度特性为|)(|ωj e X , 在Matlab 中采用abs 函数;相位特性为)(ω?,在Matlab 中采用angle 函数。 序列傅里叶变换的性质:

基于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频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通,低通,带通滤波器,得到滤波器的幅频及相频特性。

实验三用FFT对信号进行频谱分析和MATLAB程序

实验三 用FFT 对信号进行频谱分析 一 实验目的 1 能够熟练掌握快速离散傅立叶变换的原理及应用FFT 进行频谱分析的基本方法; 2了解用FFT 进行频谱分析可能出现的分析误差及其原因; 二 实验原理 1.用DFT 对非周期序列进行谱分析 单位圆上的Z 变换就是序列的傅里叶变换,即 ()()j j z e X e X z ωω== (3-1) ()j X e ω是ω的连续周期函数。对序列()x n 进行N 点DFT 得到()X k ,则()X k 是在区间[]0,2π上对()j X e ω的N 点等间隔采样,频谱分辨率就是采样间隔 2N π。因此序列的傅里叶变换可利用DFT (即FFT )来计算。 用FFT 对序列进行谱分析的误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而非周期序列的频谱是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。 2.用DFT 对周期序列进行谱分析 已知周期为N 的离散序列)(n x ,它的离散傅里叶级数DFS 分别由式(3-2)和(3-3) 给出: DFS : ∑-=-=1 2)(1N n kn N j k e n x N a π , n =0,1,2,…,N -1 (3-2) IDFS : ∑-==1 02)(N k kn N j k e a n x π , n =0,1,2,…,N -1 (3-3) 对于长度为N 的有限长序列x (n )的DFT 对表达式分别由式(3-4)和(3-5)给出: DFT : ∑-=-=1 02)()(N n kn N j e n x k X π , n =0,1,2,…,N -1 (3-4) IDFT : ∑-==1 02)(1)(N k kn N j e k X N n x π , n =0,1,2,…,N -1 (3-5) FFT 为离散傅里叶变换DFT 的快速算法,对于周期为N 的离散序列x (n )的频谱分析便可由式(3-6)和(3-7)给出:

应用MATLAB对信号进行频谱分析

数字信号处理课程设计报告书 2011年7 月 1日 课题名称 应用MATLAB 对信号进行频谱分析 姓 名 张炜玮 学 号 20086377 院、系、部 电气系 专 业 电子信息工程 指导教师 刘鑫淼 ※※※※※※※※※ ※※ ※※ ※※ ※※ ※※※※※ ※※ 2008级数字信号处理课程设计

应用MATLAB对信号进行频谱分析 20086377 张炜玮 一、设计目的 用MATLAB语言进行编程,绘出所求波形,并且运用FFT求对连续信号进行分析。 二、设计要求 1、用Matlab产生正弦波,矩形波,并显示各自的时域波形图; 2、进行FFT变换,显示各自频谱图,其中采样率、频率、数据长度自选,要求注明; 3、绘制三种信号的均方根图谱; 4、用IFFT回复信号,并显示恢复的正弦信号时域波形图。 三、系统原理 用FFT对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行频谱分析的信号是模拟信号和时域离散信号。频谱分辨率直接和FFT的变换区间N 有关,因为FFT能够实现频率分辨率是2π/N。 x(n)是一个长度为M的有限长序列,则x(n)的N点离散傅立叶变换为: X(k)=DFT[x(n)]= kn N W N n n x ∑ - = 1 ) ( ,k=0,1,...,N-1 N j e N Wπ2- = 逆变换:x(n) =IDFT[X(k)]= kn N W k X N n N - ∑ - = 1 ) ( 1 ,k=0,1,...,N-1 但FFT是一种比DFT更加快速的一种算法,提高了DFT的运算速率,为数字信号处理技术应用于各种信号处理创造了条件,大大提高了数字信号处理技术的发展。本实验就是采用FFT,IFFT对信号进行谱分析。 四、程序设计 fs=input('please input the fs:');%设定采样频率 N=input('please input the N:');%设定数据长度 t=0:0.001:1; f=100;%设定正弦信号频率 %生成正弦信号 x=sin(2*pi*f*t);

FFT对连续信号和时域离散信号进行谱研究分析

FFT对连续信号和时域离散信号进行谱分析

————————————————————————————————作者:————————————————————————————————日期:

一、实验目的与要求 学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT。 二、实验原理 用FFT对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D和分析误差。频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2π/N,因此要求2π/N 小于等于D。可以根据此式选择FFT的变换区间N。误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时,离散谱的包络才能逼近连续谱,因此N要适当选择大一些。 三、实验步骤及内容 (1)对以下序列进行FFT分析: x1(n)=R4(n) n+1 0≤n≤3 x2(n)={ 8-n 4≤n≤7 0 其它n 4-n 0≤n≤3 X3(n)={ n-3 4≤n≤7 0 其它n 选择FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较 xn1=[1 1 1 1]; Xk18=fft(xn1,8); yn11=abs(Xk18); n11=0:length(yn11)-1; Xk116=fft(xn1,16); yn12=abs(Xk116); n12=0:length(yn12)-1; n=0:3; x21=n+1; x31=4-n; n=4:7; x22=8-n; x32=n-3; xn2=[x21,x22]; Xk28=fft(xn2,8); yn21=abs(Xk28); n21=0:length(yn21)-1; Xk216=fft(xn2,16); yn22=abs(Xk216); n22=0:length(yn22)-1; xn3=[x31,x32]; Xk38=fft(xn3,8);

基于MATLAB仿真的数字信号调制的性能比较和分析

2ASK、2FSK、2PSK数字调制系统的 Matlab实现及性能分析比较 指导教师: 班级: 学号: 姓名:

引言:数字信号有两种传输方式,分别是基带传输方式和调制传输方式,即带通,在实际应用中,因基带信号含有大量低频分量不利于传送,所以必须经过载波和调制形成带通信号,通过数字基带信号对载波某些参量进行控制,使之随机带信号的变化而变化,这这一过程即为数字调制。数字调制为信号长距离高效传输提供保障,现已广泛应用于生活和生产中。另外根据控制载波参量方式的不同,数字调制主要有调幅(ASK ),调频(FSK),调相(PSK) 三种基本形式。本次课题针对于二进制的2ASK 、2FSK 、2PSK 进行讨论,应用Matlab 矩阵实验室进行仿真,分析和修改,通过仿真系统生成一个人机交互界面,以利于仿真系统的操作。通过对系统的仿真,更加直观的了解数字调制系统的性能及影响其性能的各种因素,以便于比较,评论和改进。 关键词: 数字,载波,调制,2ASK ,2FSK ,2PSK ,Matlab ,仿真,性能,比较,分析 正文: 一 .数字调制与解调原理 1.1 2ASK (1)2ASK 2ASK 就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号"1时,传输载波;当调制的数字信号为"0"时,不传输载波。 表达式为: ???===0 01,cos )(2k k c ASK a a t A t s 当, 当ω

1.2 2FSK 2FSK可以看做是2个不同频率的2ASK的叠加,其调制与解调方法与2ASK差不多,主要频率F1和F2,不同的组合产生所要求的2FSK调制信号。 公式如下: ? ? ? = = = cos 1 , cos )( 2 1 2 k k FSK a t A a t A t s 当 , 当 ω ω

实验三--用FFT对信号进行频谱分析及MATLAB程序

实验三--用FFT对信号进行频谱分析及MATLAB程序

实验三 用FFT 对信号进行频谱分析 一 实验目的 1 能够熟练掌握快速离散傅立叶变换的原理及应用FFT 进行频谱分析的基本方法; 2了解用FFT 进行频谱分析可能出现的分析误差及其原因; 二 实验原理 1.用DFT 对非周期序列进行谱分析 单位圆上的Z 变换就是序列的傅里叶变换,即 ()() j j z e X e X z ω ω== (3-1) () j X e ω是ω的连续周期函数。对序列()x n 进行N 点 DFT 得到()X k ,则()X k 是在区间[]0,2π上对()j X e ω 的N 点等间隔采样,频谱分辨率就是采样间隔2N π 。因 此序列的傅里叶变换可利用DFT (即FFT )来计算。 用FFT 对序列进行谱分析的误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而非周期序列的频谱是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。 2.用DFT 对周期序列进行谱分析

已知周期为N 的离散序列)(n x ,它的离散傅里叶级数DFS 分别由式(3-2)和(3-3) 给出: DFS : ∑-=-=1 2)(1N n kn N j k e n x N a π , n =0,1,2,…,N -1 (3-2) IDFS : ∑-==1 02)(N k kn N j k e a n x π , n =0,1,2,…,N -1 (3-3) 对于长度为N 的有限长序列x (n )的DFT 对表达式分别由式(3-4)和(3-5)给出: DFT : ∑-=-=1 02)()(N n kn N j e n x k X π , n =0,1,2,…,N -1 (3-4) IDFT : ∑-==1 2)(1)(N k kn N j e k X N n x π , n =0,1,2,…,N -1 (3-5) FFT 为离散傅里叶变换DFT 的快速算法,对于周期为N 的离散序列x (n )的频谱分析便可由式(3-6)和(3-7)给出: DTFS : 1 *(())k a fft x n N = (3-6) IDTFS : ()*() k x n N ifft a =

时域离散信号的产生与运算

典型时域离散序列的产生与简单运算 1. 单位冲激序列 程序1: function [x,n]=impseq(n0,n1,n2) % generates x(n)=delta(n-n0); n1<=n<=n2 n=[n1:n2]; x=[(n-n0)==0]; 调用:[x,n]=impseq(0,-3,4); stem(n,x) 程序2: n1=-3;n2=4;n0=0; n=n1:n2; x=[n==n0]; stem(n,x,'filled'); axis([n1,n2,0,1.1*max(x)]); xlabel('时间(n)');ylabel('幅度x(n)'); title('单位脉冲序列'); 2. 单位阶跃序列 程序: n1=-3;n2=4;n0=0; n=n1:n2; x=[n>=n0]; stem(n,x,'filled'); axis([n1,n2,0,1.1*max(x)]); xlabel('时间(n)');ylabel('幅度x(n)'); title('单位阶跃序列'); 3. 矩形序列 程序: 10()00n n n δ=?=?≠?1≥0()00n u n n ?=?

n=[-10:10]; xn1=[(n-0)>=0]; xn2=[(n-4)>=0]; %定义两个阶跃序列; xn=xn1-xn2; 两个阶跃序列之差得到矩形序列; stem(n,xn,'.'); xlabel('时间(n)');ylabel('幅度x(n)'); title(‘矩形序列'); 4. 正弦序列 程序: n=0:20; xn=sin(pi/4*n); stem(n,xn,'.'); xlabel('时间(n)');ylabel('幅度x(n)'); title(‘正弦序列'); 5. 指数序列 程序: n=[0:20]; x=(0.9).^n; stem(n,x); xlabel('时间(n)');ylabel('幅度x(n)'); title(‘指数序列'); 6. 对conv 进行简单的扩展conv_m ,可以完成任意位置序列的卷积. 对于有限长序列x (n ),h (n ),它们分别的区域为[n xb,n xe]和[n hb,n he],则卷积后的区域为 [n xb+n hb,n xe+n he] 程序: function[y,ny]=conv_m(x,nx,h,nh) nyb=nx(1)+nh(1); nye=nx(length(x))+nh(length(h)); ny=[nyb:nye]; y=conv(x,h); 调用: x=[3,11,7,0,-1,4,2]; h=[2,3,0,-5,2,1]; nx=[-3:3]; nh=[-1:4]; [y,ny]=conv_m(x,nx,h,nh) ()sin()x n A n ωθ=+n a n x =)(

相关文档
相关文档 最新文档