华南理工大学信号与系统实验基于Matlab的信号处理实例

合集下载

信号分析与处理实验(MATLAB)

信号分析与处理实验(MATLAB)

例:Chebyshev I型数字滤波器设计
通带截止频率wp,阻带截止频率ws,
通带最大衰减rp,阻带最小衰减rs. 假设各参数: wp=30*2 *pi; ws=40*2* pi; Fs=100;
rp=0.3;
rs=80;
例1:Chebyshev I型数字滤波器设计
1. 2. 3. 4.
实验安排
1、信号的产生与运算; 2、连续与离散信号的频谱分析; 3、连续与离散系统分析、滤波; 4、信号处理程序设计;(设计性) (卷积、相关、窗函数、DFT、FFT*) 5、数字滤波器的设计与滤波; 6、wav音频信号的读写与处理。
1、信号的产生与运算
实验目的:掌握用Matlab产生基本信号、绘制波形、实 现基本运算。
Matlab程序举例2:计算卷积
直接计算 x1=[ones(1,5) zeros(1,27) ]; x2=[ones(1,10) zeros(1,22) ]; y1=conv(x1,x2);
用卷积定理 X1=fft(x1,32); X2=fft(x2,32); Y=X1.*X2; y2=real(ifft(Y)); subplot(2,1,1); stem(y1); subplot(2,1,2); stem(y2);
5.
6.
7.
选择阶数: [N, Wn]=cheb1ord(wp, ws, rp, rs, 's'); 创建Chebyshev I型滤波器原型:[z,p,k]=cheb1ap(N,rp); 表达形式从零极点增益形式转换成状态方程形式: [A, B, C, D]=zp2ss(z,p,k); 把模拟低通滤波器原型转换成模拟低通滤波器: [At, Bt, Ct, Dt]=lp2lp(A, B, C, D, Wn); 表达形式从状态方程形式转换成传递函数形式: [num1 ,den 1]=ss2tf(At,Bt,Ct,Dt); 采用冲激响应不变法将模拟滤波器转换成数字滤波器: [num2,den2]=impinvar(num1 ,den1, Fs); 返回数字滤波器的频率响应: [H, W]=freqz(num2,den2,N)

信号与系统MATL实验及代码

信号与系统MATL实验及代码

实验一、MATLAB编程基础及典型实例一、实验目的(1)熟悉MATLAB软件平台的使用;(2)熟悉MATLAB编程方法及常用语句;(3)掌握MATLAB的可视化绘图技术;(4)结合《信号与系统》的特点,编程实现常用信号及其运算。

示例一:在两个信号进行加、减、相乘运算时,参于运算的两个向量要有相同的维数,并且它们的时间变量范围要相同,即要对齐。

编制一个函数型m文件,实现这个功能。

function [f1_new,f2_new,n]=duiqi(f1,n1,f2,n2)a=min(min(n1),min(n2));b=max(max(n1),max(n2));n=a:b;f1_new=zeros(1,length(n));f2_new=zeros(1,length(n));tem1=find((n>=min(n1))&(n<=max(n1))==1);f1_new(tem1)=f1;tem2=find((n>=min(n2))&(n<=max(n2))==1);f2_new(tem2)=f2;四、实验内容与步骤− 2 t (2)绘制信号x(t)= esin( t=0:0.1:30; 23t ) 的曲线,t的范围在0~30s,取样时间间隔为0.1s。

y=exp(-sqrt(2)*t).*sin(2*t/3); plot(t,y);(3)在n=[-10:10]范围产生离散序列:x( n)=⎧2 n ,− 3⎨≤ n ≤ 3,并绘图。

⎩0, Othern=-10:1:10;z1=((n+3)>=0);z2=((n-3)>=0);x=2*n.*(z1-z2);stem(n,x);(4)编程实现如下图所示的波形。

t=-2:0.001:3;f1=((t>=-1)&(t<=1));f2=((t>=-1)&(t<=2));f=f1+f2;plot(t,f);axis([-2,3,0,3]);(5)设序列f1(k)={ 0 , 1 , 2 , 3 , 4 , 5 },f2(k)={ 6 , 5 , 4 , 3 , 2 , 1 , 0 }。

Lecture 11__基于Matlab信号处理示例,华工数字信号处理课件,DSP

Lecture 11__基于Matlab信号处理示例,华工数字信号处理课件,DSP
18
能量
信号的能量
x
n


x[n ]
2
Matlab 代码:
E=sum(abs(x).^2)
19
卷积,相关
卷积
z(n)=x(n)*y(n)
例:
n =0:100; x=sin(n*pi/10); r=xcorr(x) stem(r); y=sin(n*pi/20); r2=xcorr(x,y); stem(r2);
34
DFT的实现(对DTFT的采样)
用循环语句实现
% M点DTFT M=128; for k=0:M-1 sumX=0; for i=0:M-1 sumX=sumX+x(i+1)*exp(-j*2*pi/M*i*k); end Xw(k+1)=sumX; end
35
DFT例子
36
DFT的快速算法FFT
均值:
xmean=sum(x)/length(x);
s=sum(x(n1:n2)); 例子: n=0:20; x=sin(n*pi/10); s1=sum(x); %注意数值误差 s2=sum(x(1:10)); s3=sum(x+10); disp(s1);disp(s2); disp(s3);
Mablab只能表示有限长序列
三个重要画图函数
stem(…) :离散信号的画图函数 plot(…):连续信号的画图函数 subplot(m,n,k) : 多个图同时显示
6
基本信号(3)
Mablab实现单位脉冲信号
x=[1,zeros(1,N)] ? n=0:N-1 stem(n,x)
i 0 i i 0 i

华南理工大学数字信号处理matlab实验(1)

华南理工大学数字信号处理matlab实验(1)

数字信号处理matlab实验学院:电子与信息专业班级: 5学号:201130302068姓名:梁敏健实验名称:离散时间信号与系统分析、滤波器实验日期:2013.10实验1 离散时间信号与系统分析(2课时)题目一:以下程序中分别使用conv和filter函数计算h[n] = [3 2 1 -2 1 0 -4 0 3]和x[n] = [1 -2 3 -4 3 2 1]的卷积y和y1,并分析y和y1是否有差别代码:h = [3 2 1 -2 1 0 -4 0 3];x = [1 -2 3 -4 3 2 1];y = conv(h,x);n = 0:14;subplot(2,1,1);stem(n,y);xlabel('Time index n'); ylabel('Amplitude');title('Output Obtained by Convolution'); grid;x1 = [x zeros(1,8)];y1 = filter(h,1,x1);subplot(2,1,2);stem(n,y1);xlabel('Time index n'); ylabel('Amplitude');title('Output Generated by Filtering'); grid;可见,y与y1没有差别。

题目二:编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。

要求分别用filter、conv、impz三种函数完成。

,,源代码:对,,单位冲激响应a1=[1,0.75,0.125];b1=[1,-1];n=0:20;x1=[1 zeros(1,20)];y1filter=filter(b1,a1,x1);subplot(2,2,1);stem(n,y1filter);title('y1filter');xlabel('x');ylabel('y');title('impulse response generated by filter')x1_1=[1 zeros(1,10)];[h]=impz(b1,a1,10);y1conv=conv(h,x1_1);n=0:19;subplot(2,2,2);stem(y1conv) ;title('impulse response generated by conv')h=impz(b1,a1,21);subplot(2,2,3);stem([0:20], h);title('impulse response generated by impz') 结果:单位阶跃:a1=[1,0.75,0.125];b1=[1,-1];n=0:20;x2=ones(1,21);y1filter=filter(b1,a1,x2);subplot(2,2,3);stem(n,y1filter);title('y1filter_step');xlabel('x');ylabel('y');title('impulse response generated by filter')x2=ones(1,21);[h]=impz(b1,a1,20);y1=conv(h,x2);y1conv=y1(1:21);n1=0:20;subplot(2,2,2);stem(n1,y1conv,'filled');title('y1conv');xlabel('n');ylabel('y1[n]');title('impulse response generated by conv')a=[1,0.75,0.125];b=1;h=impz(b,a,21);subplot(2,2,1);stem([0:20], h);title('impulse response generated by impz') 结果:对单位冲激响应:a2=1;b2=[0 0.25*ones(1,4)];n=0:9;x1=[1 zeros(1,9)];y2filter=filter(b2,a2,x1);subplot(2,2,1);stem(n,y2filter);title('y2filter');xlabel('x');ylabel('y')title('impulse response generated by filter')x2=[1 zeros(1,5)];[h]=impz(b2,a2,5);y2conv=conv(h,x2);subplot(2,2,2);stem(n,y2conv,'filled')title('impulse response generated by conv')h=impz(b2,a2,10);subplot(2,2,3);stem([0:9], h);title('impulse response generated by impz') 结果:单位阶跃a1=1;b1=[0 0.25*ones(1,4)];n=0:20;x1=ones(1,21);y2filter=filter(b1,a1,x1);subplot(2,2,1);stem(n,y2filter);title('y2filter_step');xlabel('x');ylabel('y');title('impulse response generated by filter')y2=conv(b1,x1);y2conv=y2(1:21);subplot(2,2,2);stem(n,y2conv,'filled');title('y2conv');xlabel('n');ylabel('y[n]');title('impulse response generated by conv')n=0:20;b=[0,0.25,0.5,0.75,ones(1,17)];a=1;h=impz(b,a,21);subplot(2,2,3);stem([0:20], h);title('impulse response generated by impz')题目三2N点实数序列N=64。

华南理工大学信号与系统实验报告

华南理工大学信号与系统实验报告

华南理⼯⼤学信号与系统实验报告Experiment ExportName:Student No:Institute:Dec 26, 2011Experiment Purposes1. Be familiar with the software Environment and Programming flow in MATLAB5.3.2. Learn how to draw the signal waveform and determine the signal properties.3. Calculate the convolution, frequency response and system output by using the functions: conv, freqz, freqs and filter. Experiment Contents实验项⽬⼀:MATLAB编程基础及典型实例①画出离散时间正弦信号并确定基波周期(注:pi 表⽰圆周率)1 x1[n]=sin(pi*4/4)*cos(pi*n/4)2 x2[n]=cos(pi*n/4)*cos(pi*n/4)3 x3[n]=sin(pi*n/4)*cos(pi*n/8)program for matlabn=0:31;x1=sin(pi*n/4).*cos(pi*n/4);x2=cos(pi*n/4).*cos(pi*n/4);x3=sin(pi*n/4).*cos(pi*n/8);subplot(3,1,1);stem(n,x1);title('x1');subplot(3,1,2);stem(n,x2);title('x2');subplot(3,1,3);stem(n,x3);title('x3');grid on;Conclusion: These signals is periodic, the first and second signal’s per iod are 4. The third signal’s period is 16.②离散时间系统性质:离散时间系统往往是⽤⼏个性质来表征,如线性、时不变性、稳定性、因果性及可逆性等。

基于MATLAB的信号与系统仿真实验毕业设计

基于MATLAB的信号与系统仿真实验毕业设计

基于MATLAB的信号与系统仿真实验毕业设计信号与系统是电子信息类专业的一门重要课程,它是其他课程的基础和前提。

为了更好地理解信号与系统的理论知识,掌握信号的分析和处理方法,实验仿真是非常重要的手段之一、MATLAB作为一款强大的数学软件,被广泛应用于信号与系统的实验仿真中。

本文将基于MATLAB,介绍一个基于信号与系统的仿真实验的毕业设计。

该设计主要包括以下几个方面的内容:实验目的、实验原理、实验步骤和实验结果及分析。

实验目的:本次实验的主要目的是通过MATLAB软件,实现信号与系统的仿真分析,掌握信号与系统的基本概念和分析方法,培养学生对信号与系统的实际应用能力。

实验原理:本实验主要涉及信号的生成与采样、信号的查表和存储、信号的线性时不变系统等方面的内容。

通过对不同种类的信号进行分析,可以更好地理解信号的特性,并通过系统的分析,了解线性时不变系统对信号的作用及特性。

实验步骤:1.信号的生成与采样:在MATLAB中,通过给定信号的频率、振幅及采样率等参数,利用正弦函数或方波函数生成模拟信号,并对信号进行采样。

2.信号的查表和存储:将生成的信号通过查表和存储的方式保存为数据文件,并通过MATLAB读取这些数据文件,进行后续的处理和分析。

3.信号的线性时不变系统:通过设计不同的线性时不变系统,如低通滤波器或高通滤波器等,对信号进行滤波处理。

可以分析系统的频率响应、幅频响应等参数,并观察滤波后信号的变化。

实验结果及分析:通过对生成的信号进行采样、查表和存储,并对信号进行线性时不变系统的处理,在MATLAB中可以得到相应的结果。

根据实验结果,可以对信号的特性进行分析,比较不同信号和系统对信号的影响,进一步了解信号与系统的相关知识。

综上所述,本次基于MATLAB的信号与系统仿真实验毕业设计主要是通过对信号的生成、采样、查表和存储以及对信号进行线性时不变系统的处理,来掌握信号与系统的分析方法和应用能力。

通过实验结果的分析,可以进一步理解信号与系统的概念和特性,提高对信号与系统的理解和应用能力。

华工信号与系统实验-实验一 基于Matlab的时域信号处理示例

华工信号与系统实验-实验一 基于Matlab的时域信号处理示例

实验一 基于Matlab 的时域信号处理示例一. 实验内容1. 用MA TLAB 实现基本信号2. 画出信号的波形3. 用MATLAB 实现卷积和4. 用MATLAB 求系统输出二. 实验仪器PC 计算机—Matlab三. 实验步骤(1-1)写一个产生 信号的函数定义 n 范围为 [ t1,t2 ] 之间, 以 t0 作为偏移量 当 n - t0 为 0 的时候 x=1代码实现:function UnitImpulse(t1,t2,t0)% t1,t2信号的起止时刻,t0 冲激信号沿坐标的平移量 n=t1:t2; %定义区间范围x=[(n-t0)==0]; %n-t0=0 时, x = 1 Stem (n,x ); %描绘图像 End效果图:输入: UnitImpulse(-5,5,2)与实验设定相同。

当 t0=2 时, x = 1 .)(0t t -δ(1-2) 写一个产生 信号的函数定义 n 范围为 [ t1,t2 ] 之间, 以 t0 作为偏移量 当 n - t0 大于 0 的时候 x=1 代码实现:function UnitStep(t1,t2,t0)% t1,t2信号的起止时刻,t0 阶跃信号沿坐标的平移量 n=t1:t2; %定义区间范围x=[(n-t0)>=0]; %n-t0> 0时, x = 1 Stem (n,x ); %描绘图像End 效果图:输入: UnitStep(-5,5,-1)与预先结果相同。

(1-3)写一个产生离散复指数信号的函数function ComplexExponential(n1,n2,r,w )% n1,n2 信号的起止时间;r 指数序列的底; w 角频率 n=n1:n2; %定义区间范围 x=exp((r+j*w)*n); %定义指数函数 Rex=real(x); % 去指数函数的实部 Imx=imag(x); % 去指数函数的虚部 disp(Rex); %显示指数函数的实部 disp(Imx); %显示指数函数的实部 End效果图:输入: ComplexExponential(-5,5,2,3))(0t t u(2-1) 画出如下信号的波形利用前面1-1 所的函数 分别构造各个函数,再进行加减运算。

信号分析与处理MATLAB仿真实验报告

信号分析与处理MATLAB仿真实验报告

信号分析与处理MATLAB仿真实验报告2009.12.25院系:电气工程学院专业: 自动化班级:姓名:学号:实验7 离散时间序列的卷积实验目的:学会用MATLAB实现对离散时间序列的卷积,掌握利用h(n) 与输入x(n)卷积来求系统零状态响应的方法。

实验要求:使用MATLAB中求卷积函数的conv(),并对结果分析总结。

实验内容:LTI系统的单位脉冲响应为h(n)=(0.9)n ε(n),输入序列为x(n)=ε(n)- ε(n-10),求系统的输出y(n)。

程序function [y,ny]=conv_m(x,nx,h,nh);y=conv(x(5:45),h);ny=nh;y=y(1:41);subplot(3,1,1);stem(nx,x,'filled');axis([-4,40,0,1]);title('x[n]');subplot(3,1,2);stem(nh,h,'filled');axis([-4,40,0,1]);title('h[n]');subplot(3,1,3);stem(ny,y,'filled');axis([-4,40,0,8]);title('y[n]');实验结果:结果分析:改变参数以后的程序:function [y,ny]=conv_m(x,nx,h,nh);y=conv(x(5:45),h);ny=nh;y=y(1:41);subplot(3,1,1);stem(nx,x,'filled');axis([-4,40,0,1]);title('x[n]'); subplot(3,1,2);stem(nh,h,'filled');axis([-4,40,0,1]);title('h[n]'); subplot(3,1,3);stem(ny,y,'filled');axis([-4,40,0,2]);title('y[n]');输出结果:实验8 连续时间信号的卷积实验目的:学会用MATLAB实现对连续时间信号的卷积,掌握利用卷积的方法求系统零状态响应,并与离散系统比较。

华南理工大学数字信号处理实验报告2(曹老师)

华南理工大学数字信号处理实验报告2(曹老师)

一、实验目的1、加深对离散信号的DFT的理解;2、在MATLAB中实现FFT算法。

二、实验原理N点序列的DFT和IDFT变换定义式如下:,,利用旋转因子具有周期性,可以得到快速算法(FFT)。

在MATLAB中,可以用函数和计算N点序列的DFT 正、反变换。

三、实验内容1、对连续的单一频率周期信号按采样频率采样,截取长度N分别选N =20和N =16,观察其DFT结果的幅度谱。

实验代码:k=8;n1=[0:1:19];xa1=sin(2*pi*n1/k);subplot(2,2,1)plot(n1,xa1)xlabel('t/T');ylabel('x(n)');xk1=fft(xa1);xk1=abs(xk1);subplot(2,2,2)stem(n1,xk1)xlabel('k');ylabel('X(k)'); n2=[0:1:15]; xa2=sin(2*pi*n2/k); subplot(2,2,3) plot(n2,xa2)xlabel('t/T');ylabel('x(n)'); xk2=fft(xa2);xk2=abs(xk2); subplot(2,2,4) stem(n2,xk2)xlabel('k');ylabel('X(k)');实验结果:5101520-1-0.500.51t/Tx (n )05101520kX (k )51015-1-0.500.51t/Tx (n )kX (k )2 2N 点实数序列⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧-=+=n N n n Nn N n x 其它,012,...,2,1,0),192cos(21)72cos()(ππN=64。

用一个64点的复数FFT 程序,一次算出N n x DFT k X 2)]([)(=,并绘出)(k X 。

信号分析与处理实验报告(基于MATLAB)

信号分析与处理实验报告(基于MATLAB)

武汉工程大学电气信息学院2、四、思考:1、为什么图二中t=0处曲线是间断的,如何使其成为连续的曲线?因为axis函数对纵坐标的的上边界限定过小,使图形在边界处不能完整的显示。

2.3.四、思考:1、代数运算符号*和.*的区别是?*是矩阵相乘,是矩阵A行元素与B的列元素相乘的和.*是数组相乘,表示数组A和数组B中的对应元素相乘实验内容实验三连续时间信号的卷积一、实验内容1、已知两连续时间信号如下图所示,绘制信号f1(t)、f2(t)及卷积结果f(t)的波形;设时间变化步长dt分别取为0.5、0.1、0.01,当dt取多少时,程序的计算结果就是连续时间卷积的较好近似?2.实验内容1.2.实验内容实验五 连续时间信号的频域分析一、实验内容1、如图5.4所示的奇谐周期方波信号,周期为T1=1,幅度为A=1,将该方波信号展开成三角形式Fourier 级数并分别采用频域矩形窗和Hanning 窗加权,绘制两种窗函数加权后的方波合成图像。

时间范围取为-2~2,步长值取为0.01。

2、将图5.5中的锯齿波展开为三角形式Fourier 级数,按(2)式求出Fourier 级数的系数,并在频域分别采用矩形窗、Hanning 窗和三角窗加权,观察其Gibbs 效应及其消除情况。

时间范围取为-2~2,步长值取为0.01。

3、选做:编程计算连续时间周期信号的三角形式傅里叶级数展开的系数二、实验方法与步骤1、将方波信号展开成三角形式Fourier 级数并分别采用频域矩形窗和Hanning 窗加权 方波展开的三角式傅立叶级数为:()()t k k t x L k 1,5,3,1sin 4ωπ⋅∑=∞= 采用频域矩形窗加权,则展开式变为:()()()[]t k k t x K k 1012sin 124ωπ+⋅+∑==a0=2/T*int(f,t,0,T); %求函数f对t从0到T的定积分a0=simplify(a0) %得出结果syms kfa=t*cos(k*w*t);fb=t*sin(k*w*t);ak=2/T*int(fa,t,0,T); %求函数fa对t从0到T的定积分bk=2/T*int(fb,t,0,T); %求函数fb对t从0到T的定积分ak=simplify(ak)bk=simplify(bk)三、实验数据与结果分析1.2.3.根据绘制的幅频特性曲线,系统具有低通滤波特性2.根据绘制的幅频特性曲线,系统具有带通滤波特性。

信号与系统MATLAB实验(word文档良心出品)

信号与系统MATLAB实验(word文档良心出品)

2016-2017学年第一学期信号与系统实验报告班级:姓名:学号:成绩:指导教师:实验一 常见信号的MATLAB 表示及运算一.实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法二.实验原理信号一般是随时间而变化的某些物理量。

按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示。

若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。

MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。

根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。

在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了。

下面分别介绍连续时间信号和离散时间信号的MATLAB 表示及其波形绘制方法。

1.连续时间信号所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。

从严格意义上讲,MATLAB 并不能处理连续信号。

在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。

在MATLAB 中连续信号可用向量或符号运算功能来表示。

⑴ 向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t 的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。

向量f 为连续信号()f t 在向量t 所定义的时间点上的样值。

华工信号与系统实验-实验三 基于Matlab的FFT应用

华工信号与系统实验-实验三 基于Matlab的FFT应用

实验三 基于Matlab 的FFT 应用一.实验内容1. 确定该稳定LTI 系统的频率响应的幅度和相位2. 求下面离散系统在区间的频率响应 3. 计算 的DTFT4. 受噪声干扰的正弦信号的频谱二.实验仪器PC 计算机三.实验步骤(1)确定该稳定LTI 系统的频率响应的幅度和相位对于连续时间系统的频率响应(freqs )其单位冲击响应可以表示为:代码如下:function Lianxupinpu()a = [3,4,1]; %输出信号系数b = [1,0,5]; %输入信号系数 H = freqs(b,a); %计算频率响应subplot(2,1,1); stem(abs(H)); %绘制幅值曲线 subplot(2,1,2); stem(angle(H)); %绘制相位曲线],[π0][][][10--=n u n u n x 00()()k k N Nk kk k k k d y t d x t a b dt dt ===∑∑0()()()Nk k k N kk k b j H j a j ωωω==∴=∑∑)()()()()(t x dt t x d t y dt t dy dt t y d 5432222+=++实验结果:结果分析:利用H =freqs (b,a)计算连续时间系统的频率响应H(jw) 再利用abs()和angle()画出H(jw)的幅度和相位(2)求下面离散系统在区间的频率响应离散时间系统的频率响应(freqz )其单位冲击响应可以表示为:代码如下:function Lisanpinpu(N)a = [0,-0.8,1]; %输出信号系数b = [-1,0,2]; %输入信号系数],[π0][][][.][22180--=--n x n x n y n y ∑∑=-=-==Nk jk k Nk jk k j j j e a e b e X e Y e H 00)()()(ωωωωω[H] = freqz(b,a,N,'whole'); %计算频率响应subplot(2,1,1); plot(abs(H)); %绘制幅值曲线subplot(2,1,2); plot(angle(H)*180); %绘制相位曲线实验结果:结果分析:利用H =freqz (b,a ,N ,'whole')计算连续时间系统的频率响应)(ωj e H 再利用abs()和angle()画出)(ωj e H 的幅度和相位(3)计算 的DTFT注:fft 点数N 建议取128、或256、或512 DTFT 的定义:代码如下:function DTFT(N)n = 0:N;x = [n>=0] - [(n-10)>=0];%产生x 信号][][][10--=n u n u n x ()[]j j nn X e x n e ωω∞-=-∞=∑xc = fft(x); %对x求FFTxw = fftshift(xc); %使图像对称plot(-N/2:N/2,abs(xw));实验结果:N=128结果分析:X 信号为门信号,其频谱应为Sa 函数如图与实际相符。

华南理工大学数字信号处理实验三实验报告

华南理工大学数字信号处理实验三实验报告

if nargin == 2
fsam = 4000; % 默认采样率
pr = 1;
% 默认通带波纹
minsa = 40; % 默认最小阻带衰减
filtertype = 'butteworth'; % 默认滤波器类型
elseif nargin == 3
pr = 1;
% 默认通带波纹
minsa = 40; % 默认最小阻带衰减
filtertype = 'butteworth'; % 默认滤波器类型
elseif nargin == 4
minsa = 40; % 默认最小阻带衰减
filtertype = 'butteworth'; % 默认滤波器类型
elseif nargin == 5
filtertype = 'butteworth'; % 默认滤波器类型
% filtertype butteworth or chebyshey 类型选择
%a
传输函数的分母的参数
%b
传输函数的分子的系数
%
jw
-jw
-jmw
%
jw B(e) b(1) + b(2)e + .... + b(m+1)e
% H(e) = ---- = ------------------------------------
数字 IIR 滤波器。 掌握 MATLAB 函数书写,特别是用 MATLAB 函数封装自己设计的滤波器,
并实现参数可调。
2 实验原理
2.1 IIR 滤波器
按脉冲响应来分类,数字滤波器分为 IIR 和 FIR,即无限冲激响应滤波器和 有限冲激响应滤波器;其中 IIR 网络中有反馈回路,FIR 网络中没有反馈回路。 IIR 滤波器是无限脉冲响应滤波器,又称递归型滤波器,即结构上带有反馈环路。 特点:

Matlab在信号处理中的应用范例

Matlab在信号处理中的应用范例
X1
1.2 MATLAB特色举例
· >> [x,y] = meshgrid(-3:1/8:3); z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)- 10*(x/5 - x.^3 -
y.^5)... .*exp(-x.^2-y.^2)- 1/3*exp(-(x+1).^2 - y.^2); surf(x,y,z), shading interp; colorbar
X1
1.6 MATLAB 函数编写方法与应用
· 所 谓 MATLAB 程序,大致分为两类:M 脚本文件(M-script) 和 M 函数(M-function), 它们均是普通的ASCII 码构成的文件。 M 脚本文件中包含一族由MATLAB 语言所支持的语句,它类似 于 DOS 下的批处理文件,它的执行方式很简单,用户只需在 MATLAB 的提示符>> 下键入该M 文件的文件名,这样 MATLAB 就会自动执行该M 文件中的各条语句,并将结果直接返回到 MATLAB 的工作空间。M 函数格式是MATLAB 程序设 计的主流,一般情况下, 不建议您使用M 脚本文件格式编程。 · MATLAB 的M 函数是由function 语句引导的,其基本格式 如下: · function [返回变量列表] = 函数名(输入变量列表) 注释说明语句段, 由% 引导 输入、返回变量格式的检测 函数体语句
MATLAB 还支持其他运算,如取整、求余数等。可以使用rond(), fix(), rem() 等来实现。
X1
1.5 MATLAB 的语句流程与控制
· 作为一种常用的编程语言,MATLAB 支持各种流程控制结构,如循环结构、条件 转移结构、客观结构等另外MATLAB 还支持一种新的结构--- 试探结构。 · 循环语句有两种结构: for ... end 结构和while ... end 结构。 这两种语句结构不 完全相同,各有各的特色。for ... end 语句通常的调用格式为: ·for 循环变量=s1:s3:s2循

华工电信学院信号与系统实验一报告参考模板

华工电信学院信号与系统实验一报告参考模板

华工电信学院信号与系统实验信号与系统实验报告(一)实验项目名称:MATLAB 编程基础及典型实例 上机实验题目:信号的时域运算及MA TLAB 实现 一、实验目的学习并掌握使用MATLAB 产生基本信号、绘制信号波形、实现信号的可视化表示,为信号分析和系统设计奠定基础。

二、实验内容1. 利用Matlab 产生下列连续信号并作图。

(1) 51),1(2)(<<---=t t u t x(2) 2000,)8.0cos()1.0cos()(<<=t t t t x ππ 2. 利用Matlab 产生下列离散序列并作图。

(1) ⎩⎨⎧≤≤-=其他,055,1][k k x , 设1515-≤<k 。

(2) )]25.0cos()25.0[sin()9.0(][k k k x k ππ+=,设2020-≤<k 。

3. 已知序列]3,2,1,0,1,2;2,3,1,0,2,1[][--=-=k k x , ]21,0,1,1,1[][=-=k k h 。

(1) 计算离散序列的卷积和][][][k h k x k y *=,并绘出其波形。

(2) 计算离散序列的相关函数][][][n k y k x k R k xy +=∑∞-∞=,并绘出其波形。

(3) 序列相关与序列卷积有何关系?三、实验细节1. 利用Matlab 产生下列连续信号并作图。

(1) 51),1(2)(<<---=t t u t xt=-1:0.01:5;x=-2.*((t-1)>=0); plot(t,x);axis([-1,5,-2.2,0.2])-112345-2-1.5-1-0.5(2) 2000,)8.0cos()1.0cos()(<<=t t t t x ππ t=0:2:200;x=cos(0.1*pi*t).*cos(0.8*pi*t); plot(t,x);20406080100120140160180200-1-0.8-0.6-0.4-0.200.20.40.60.812. 利用Matlab 产生下列离散序列并作图。

华南理工大学数字信号处理matlab实验(1)

华南理工大学数字信号处理matlab实验(1)

数字信号处理matlab实验学院:电子与信息专业班级: 5学号:201130302068姓名:梁敏健实验名称:离散时间信号与系统分析、滤波器实验日期:2013.10实验1 离散时间信号与系统分析(2课时)题目一:以下程序中分别使用conv和filter函数计算h[n] = [3 2 1 -2 1 0 -4 0 3]和x[n] = [1 -2 3 -4 3 2 1]的卷积y和y1,并分析y和y1是否有差别代码:h = [3 2 1 -2 1 0 -4 0 3];x = [1 -2 3 -4 3 2 1];y = conv(h,x);n = 0:14;subplot(2,1,1);stem(n,y);xlabel('Time index n'); ylabel('Amplitude');title('Output Obtained by Convolution'); grid;x1 = [x zeros(1,8)];y1 = filter(h,1,x1);subplot(2,1,2);stem(n,y1);xlabel('Time index n'); ylabel('Amplitude');title('Output Generated by Filtering'); grid;可见,y与y1没有差别。

题目二:编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。

要求分别用filter、conv、impz三种函数完成。

,,源代码:对,,单位冲激响应a1=[1,0.75,0.125];b1=[1,-1];n=0:20;x1=[1 zeros(1,20)];y1filter=filter(b1,a1,x1);subplot(2,2,1);stem(n,y1filter);title('y1filter');xlabel('x');ylabel('y');title('impulse response generated by filter')x1_1=[1 zeros(1,10)];[h]=impz(b1,a1,10);y1conv=conv(h,x1_1);n=0:19;subplot(2,2,2);stem(y1conv) ;title('impulse response generated by conv')h=impz(b1,a1,21);subplot(2,2,3);stem([0:20], h);title('impulse response generated by impz') 结果:单位阶跃:a1=[1,0.75,0.125];b1=[1,-1];n=0:20;x2=ones(1,21);y1filter=filter(b1,a1,x2);subplot(2,2,3);stem(n,y1filter);title('y1filter_step');xlabel('x');ylabel('y');title('impulse response generated by filter')x2=ones(1,21);[h]=impz(b1,a1,20);y1=conv(h,x2);y1conv=y1(1:21);n1=0:20;subplot(2,2,2);stem(n1,y1conv,'filled');title('y1conv');xlabel('n');ylabel('y1[n]');title('impulse response generated by conv')a=[1,0.75,0.125];b=1;h=impz(b,a,21);subplot(2,2,1);stem([0:20], h);title('impulse response generated by impz') 结果:对单位冲激响应:a2=1;b2=[0 0.25*ones(1,4)];n=0:9;x1=[1 zeros(1,9)];y2filter=filter(b2,a2,x1);subplot(2,2,1);stem(n,y2filter);title('y2filter');xlabel('x');ylabel('y')title('impulse response generated by filter')x2=[1 zeros(1,5)];[h]=impz(b2,a2,5);y2conv=conv(h,x2);subplot(2,2,2);stem(n,y2conv,'filled')title('impulse response generated by conv')h=impz(b2,a2,10);subplot(2,2,3);stem([0:9], h);title('impulse response generated by impz') 结果:单位阶跃a1=1;b1=[0 0.25*ones(1,4)];n=0:20;x1=ones(1,21);y2filter=filter(b1,a1,x1);subplot(2,2,1);stem(n,y2filter);title('y2filter_step');xlabel('x');ylabel('y');title('impulse response generated by filter')y2=conv(b1,x1);y2conv=y2(1:21);subplot(2,2,2);stem(n,y2conv,'filled');title('y2conv');xlabel('n');ylabel('y[n]');title('impulse response generated by conv')n=0:20;b=[0,0.25,0.5,0.75,ones(1,17)];a=1;h=impz(b,a,21);subplot(2,2,3);stem([0:20], h);title('impulse response generated by impz')题目三2N点实数序列N=64。

基于Matlab的信号与系统实验指导

基于Matlab的信号与系统实验指导

基于Matlab 的信号与系统实验指导实验一 连续时间信号在Matlab 中的表示一、实验目的1、学会运用Matlab 表示常用连续时间信号的方法2、观察并熟悉这些信号的波形和特性二、实验原理及实例分析1、信号的定义与分类2、如何表示连续信号?连续信号的表示方法有两种;符号推理法和数值法。

从严格意义上讲,Matlab 数值计算的方法不能处理连续时间信号。

然而,可利用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能被Matlab 处理,并且能较好地近似表示连续信号。

3、Matlab 提供了大量生成基本信号的函数。

如:(1)指数信号:K*exp(a*t)(2)正弦信号:K*sin(w*t+phi)和K*cos(w*t+phi)(3)复指数信号:K*exp((a+i*b)*t)(4)抽样信号:sin(t*pi)注意:在Matlab 中用与Sa(t)类似的sinc(t)函数表示,定义为:)t /()t (sin )t (sinc ππ=(5)矩形脉冲信号:rectpuls(t,width)(6)周期矩形脉冲信号:square(t,DUTY),其中DUTY 参数表示信号的占空比DUTY%,即在一个周期脉冲宽度(正值部分)与脉冲周期的比值。

占空比默认为0.5。

(7)三角波脉冲信号:tripuls(t, width, skew),其中skew 取值范围在-1~+1之间。

(8)周期三角波信号:sawtooth(t, width)(9)单位阶跃信号:y=(t>=0)三、实验内容1、验证实验内容直流及上述9个信号2、程序设计实验内容(1)利用Matlab 命令画出下列连续信号的波形图。

(a ))4/3t (2cos π+(b ))t (u )e 2(t -- (c ))]2()(u )][t (cos 1[--+t u t π(2)利用Matlab 命令画出复信号)4/t (j 2e)t (f π+=的实部、虚部、模和辐角。

毕业设计(论文)—基于matlab的信号与系统实验仿真系统的设计-连续信号分析模块[管理资料]

毕业设计(论文)—基于matlab的信号与系统实验仿真系统的设计-连续信号分析模块[管理资料]

基于MATLAB的信号与系统实验仿真系统设计-连续信号分析模块[摘要]本文利用MATLAB可视化编程语言开发了一套“信号与系统”实验仿真系统,对实验系统的开发背景、开发平台软件作了简要介绍。

该系统界面友好,操作简单,参数设置方便,输出结果准确直观,为“信号与系统”实验提供了一种新的实现手段。

软件虚拟实验必将成为该课程实验教学的发展方向。

信号与系统是电子信息类专业的专业基础课程,由于信号与系统是一门很抽象,理论和实践结合较紧密的学科,因此实验教学在课程教学中占有十分重要的地位,本文基于MATLAB设计并实现了一套信号与系统试验系统。

引言《信号与系统》课程是一门实用性较强、涉及面较广的专业基础课,是高等学校电子信息、计算机技术、自动控制等专业的一门重要的必修基础课,在许多学校都被列为重点课程,具有十分重要的地位和作用。

该课程是将学生从电路分析的知识领域引入信号处理与传输领域的关键性课程,对后续专业课起着承上启下的作用。

该课程的基本方法和理论大量应用于计算机信息处理的各个领域,特别是在通信、数字语音处理、数字图像处理、数字信号分析领域的应用更为广泛。

因此,让学生掌握对信号与系统进行分析的基本方法和理论,无论是今后专业课的教学,还是学生毕业后从事专业工作的能力,都具有重要的意义。

在目前的教学工作中,《信号与系统》的教学主要是考虑课堂上重点讲授基本理论知识要点,但是《信号与系统》是一门以数学推导为核心的理论性很强的学科,其概念比较抽象,数学计算又比较繁琐并且较少开设实验。

长期以来《信号与系统》一直采用“教师——黑板——学生”的单一教学模式,学生仅依靠做课后习题来巩固和理解教学内容,对课程中大量的应用性较强的内容不能实际动手设计、调试、分析,使学生的课后实践受到相当大的限制,严重影响和制约了教学效果。

为了帮助学生理解与掌握课程中的基本概念、基本原理、基本分析方法以及培养学生综合应用所学知识解决实际问题的能力,特引入功能强大的Matlab仿真语言,在此基础上设计了基于Matlab软件平台仿真环境的课程实验系统。

信号与系统 matlab实验报告

信号与系统 matlab实验报告

信号与系统 matlab实验报告《信号与系统 Matlab实验报告》摘要:本实验报告通过使用 Matlab 软件进行信号与系统实验,探讨了信号与系统在数字领域的应用。

实验结果表明,Matlab 软件具有强大的信号处理和系统分析功能,能够有效地进行信号与系统的模拟和分析。

引言:信号与系统是电子工程领域中的重要基础课程,它研究了信号的产生、传输和处理,以及系统对信号的响应和影响。

在数字领域,信号与系统的理论和方法也得到了广泛的应用。

Matlab 软件作为一种强大的数学计算工具,为信号与系统的模拟和分析提供了便利和高效的途径。

实验一:信号的生成与显示在本实验中,我们首先使用 Matlab 软件生成了几种常见的信号,包括正弦信号、方波信号和三角波信号。

通过调整信号的频率、幅度和相位等参数,我们观察了信号的变化,并利用 Matlab 的绘图功能将信号图形显示出来。

实验结果表明,Matlab 软件能够方便地生成各种类型的信号,并能够直观地显示信号的波形和特性。

实验二:信号的采样与重构在本实验中,我们使用 Matlab 软件对信号进行了采样和重构。

我们首先对一个连续信号进行了离散采样,然后利用 Matlab 的插值函数对采样信号进行了重构。

实验结果表明,采样和重构过程中存在信号失真和频率混叠等问题,但通过适当的采样和重构方法,我们能够有效地还原原始信号。

实验三:系统的响应与分析在本实验中,我们使用 Matlab 软件对系统的响应进行了分析。

我们构建了几种常见的系统模型,包括线性时不变系统和滤波器系统,然后利用 Matlab 的系统分析工具对系统的频率响应、相位响应和单位脉冲响应等进行了分析。

实验结果表明,Matlab 软件能够有效地进行系统的模拟和分析,为系统设计和优化提供了有力的支持。

结论:通过本实验,我们深入了解了信号与系统在数字领域的应用,并掌握了使用 Matlab 软件进行信号与系统模拟和分析的方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第2讲基于Matlab的信号处理实例实验内容(1)(1) 读取给定的3D加速度信号文件,绘出信号波形;程序源代码:function sy2fid = fopen('run 100m_TROUSERS POCKET_1_陈佳_1.txt','r');a=fscanf(fid,'%d,%d,%d\n');fclose(fid);len=length(a)/3;k=1;for i=1:lenx(i)=a(k);y(i)=a(k+1);z(i)=a(k+2);k=k+3;endsubplot(3,1,1);plot(x(1:700),'g','LineWidth',3);grid on; %标示格子xlabel('n'),ylabel('x');%标示坐标legend('x(i)'); %标示名称subplot(3,1,2);plot(y(300:700),'m','LineWidth',3)grid on; %标示格子xlabel('n'),ylabel('y');%标示坐标legend('y(i)'); %标示名称subplot(3,1,3);plot(z(300:700),'b','LineWidth',3);grid on; %标示格子xlabel('n'),ylabel('z');%标示坐标legend('z(i)'); %标示名称执行结果如下所示:100200300400500600700050100150200nxx(i)5010015020025030035040045050100150200250nyy(i)501001502002503003504004500100200300nzz(i)(2) 将读出的3D 加速度信号分解为偶序列及奇序列,分别绘出波形;绘出偶序列及奇序列的和信号、差信号及积信号的波形;a.分解为偶序列及奇序列,分别绘出波形: 程序源代码:function sy2oefid = fopen('run 100m_TROUSERS POCKET_1_陈佳_1.txt','r'); a=fscanf(fid,'%d,%d,%d\n'); fclose(fid);len=length(a)/3; k=1;for i=1:len x(i)=a(k); y(i)=a(k+1);z(i)=a(k+2);k=k+3;endx0=[zeros(1,len-1),x];%x前面补0x1=fliplr(x0);%x1即是反转的x0ex=(x1+x0)/2;%x的偶部ox=-(x1-x0)/2;%x的奇部y0=[zeros(1,len-1),y];y1=fliplr(y0);ey=(y1+y0)/2;oy=-(y1-y0)/2;z0=[zeros(1,len-1),z];z1=fliplr(z0);ez=(z1+z0)/2;oz=-(z1-z0)/2;subplot(3,2,1);plot([-len+1:len-1],ex ,'g','LineWidth',3); grid on; %标示格子xlabel('n'),ylabel('x');%标示坐标legend('ex(i)'); %标示名称subplot(3,2,3);plot([-len+1:len-1],ey,'m','LineWidth',3) grid on; %标示格子xlabel('n'),ylabel('y');%标示坐标legend('ey(i)'); %标示名称subplot(3,2,5);plot([-len+1:len-1],ez,'b','LineWidth',3); grid on; %标示格子xlabel('n'),ylabel('z');%标示坐标legend('ez(i)'); %标示名称subplot(3,2,2);plot([-len+1:len-1],ox,'g','LineWidth',3); grid on; %标示格子xlabel('n'),ylabel('x');%标示坐标legend('ox(i)'); %标示名称subplot(3,2,4);plot([-len+1:len-1],oy,'m','LineWidth',3) grid on; %标示格子xlabel('n'),ylabel('y');%标示坐标legend('oy(i)'); %标示名称subplot(3,2,6);plot([-len+1:len-1],oz,'b','LineWidth',3); grid on; %标示格子xlabel('n'),ylabel('z');%标示坐标legend('oz(i)'); %标示名称 sumoex=ex+ox; sumoey=ey+oy; sumoez=ez+oz;执行结果如下所示:-4000-3000-2000-100001000200030004000050100150nxex(i)-4000-3000-2000-100001000200030004000050100150200nyey(i)-4000-3000-2000-100001000200030004000050100150nzez(i)-4000-3000-2000-100001000200030004000-100-50050100nxox(i)-4000-3000-2000-100001000200030004000-200-1000100200nyoy(i)-4000-3000-2000-100001000200030004000-200-1000100200nzoz(i)b.绘出偶序列及奇序列的和信号的波形: 程序源代码:function sumoefid = fopen('run 100m_TROUSERS POCKET_1_陈佳_1.txt','r'); a=fscanf(fid,'%d,%d,%d\n'); fclose(fid);len=length(a)/3; k=1;for i=1:len x(i)=a(k); y(i)=a(k+1); z(i)=a(k+2); k=k+3; endx0=[zeros(1,len-1),x];%x 前面补0 x1=fliplr(x0);%x1即是反转的x0 ex=(x1+x0)/2;%x 的偶部 ox=-(x1-x0)/2;%x 的奇部 y0=[zeros(1,len-1),y]; y1=fliplr(y0); ey=(y1+y0)/2; oy=-(y1-y0)/2;z0=[zeros(1,len-1),z]; z1=fliplr(z0); ez=(z1+z0)/2; oz=-(z1-z0)/2; sumoex=ex+ox; sumoey=ey+oy; sumoez=ez+oz; subplot(3,1,1);plot([-len+1:len-1],sumoex ,'g','LineWidth',3); grid on ; %标示格子 xlabel('n'),ylabel('x');%标示坐标 legend('sumoex'); %标示名称 subplot(3,1,2);plot([-len+1:len-1],sumoex ,'g','LineWidth',3); grid on ; %标示格子 xlabel('n'),ylabel('x');%标示坐标 legend('sumoey'); %标示名称 subplot(3,1,3);plot([-len+1:len-1],sumoex ,'g','LineWidth',3); grid on ; %标示格子 xlabel('n'),ylabel('x');%标示坐标 legend('sumoez'); %标示名称执行结果如下所示:-4000-3000-2000-1000010002000300040000100200nxsumoex-4000-3000-2000-1000010002000300040000100200nxsumoey-4000-3000-2000-1000010002000300040000100200nxsumoezc..绘出偶序列及奇序列的差信号的波形程序源代码:function choefid = fopen('run 100m_TROUSERS POCKET_1_陈佳_1.txt','r'); a=fscanf(fid,'%d,%d,%d\n');fclose(fid);len=length(a)/3;k=1;for i=1:lenx(i)=a(k);y(i)=a(k+1);z(i)=a(k+2);k=k+3;endx0=[zeros(1,len-1),x];%x前面补0x1=fliplr(x0);%x1即是反转的x0ex=(x1+x0)/2;%x的偶部ox=-(x1-x0)/2;%x的奇部y0=[zeros(1,len-1),y];y1=fliplr(y0);ey=(y1+y0)/2;oy=-(y1-y0)/2;z0=[zeros(1,len-1),z];z1=fliplr(z0);ez=(z1+z0)/2;oz=-(z1-z0)/2;choex=ex-ox;choey=ey-oy;choez=ez-oz;subplot(3,1,1);plot([-len+1:len-1],choex ,'g','LineWidth',3);grid on; %标示格子xlabel('n'),ylabel('x');%标示坐标legend('choex'); %标示名称subplot(3,1,2);plot([-len+1:len-1],choex ,'g','LineWidth',3);grid on; %标示格子xlabel('n'),ylabel('x');%标示坐标legend('choey'); %标示名称subplot(3,1,3);plot([-len+1:len-1],choex ,'g','LineWidth',3);grid on; %标示格子xlabel('n'),ylabel('x');%标示坐标 legend('choez'); %标示名称执行结果如下所示:-4000-3000-2000-1000010002000300040000100200nx-4000-3000-2000-1000010002000300040000100200nx-4000-3000-2000-1000010002000300040000100200nxchoexchoeychoezd.绘出偶序列及奇序列的积信号的波形程序源代码:function muloefid = fopen('run 100m_TROUSERS POCKET_1_陈佳_1.txt','r'); a=fscanf(fid,'%d,%d,%d\n'); fclose(fid);len=length(a)/3; k=1;for i=1:len x(i)=a(k); y(i)=a(k+1); z(i)=a(k+2); k=k+3; endx0=[zeros(1,len-1),x];%x 前面补0 x1=fliplr(x0);%x1即是反转的x0 ex=(x1+x0)/2;%x 的偶部 ox=-(x1-x0)/2;%x 的奇部 y0=[zeros(1,len-1),y]; y1=fliplr(y0); ey=(y1+y0)/2;oy=-(y1-y0)/2;z0=[zeros(1,len-1),z]; z1=fliplr(z0); ez=(z1+z0)/2; oz=-(z1-z0)/2; muloex=ex.*ox; muloey=ey.*oy; muloez=ez.*oz; subplot(3,1,1);plot([-len+1:len-1],muloex ,'g','LineWidth',3); grid on ; %标示格子 xlabel('n'),ylabel('x');%标示坐标 legend('muloex'); %标示名称 subplot(3,1,2);plot([-len+1:len-1],muloex ,'g','LineWidth',3); grid on ; %标示格子 xlabel('n'),ylabel('y');%标示坐标 legend('muloey'); %标示名称 subplot(3,1,3);plot([-len+1:len-1],muloex ,'g','LineWidth',3); grid on ; %标示格子 xlabel('n'),ylabel('z');%标示坐标 legend('muloez'); %标示名称执行结果如下所示:-4000-3000-2000-100001000200030004000-101x 104nxmuloex-4000-3000-2000-100001000200030004000-101x 104nymuloey-4000-3000-2000-100001000200030004000-101x 104nzmuloez∑-=-=10][1][M k k n x Mn y (3) 画出M 点滑动平均滤波器的波形(M 分别取4和10); 注:M 点滑动平均滤波器:程序源代码:function m n=0:20;x=[n==0]; %单位冲击响应 a1=[0.25 0.25 0.25 0.25]; b=[1];y1=filter(a1,b,x);a2=[0.1]; %求m=10时,差分方程右边的系数 for i=1:9a2=[a2,0.1]; endy2=filter(a2,b,x); subplot(2,1,1);stem(n,y1,'g','filled')%画图,用绿色,线条加粗 title('滑动平均滤波器的波形') grid on ; %标示格子xlabel('n'),ylabel('y');%标示坐标 legend('M=4'); %标示m subplot(2,1,2);stem(n,y2,'m','filled')%画图,用品红色,线条加粗 grid on ; %标示格子 xlabel('n'),ylabel('y');%标示坐标 title('滑动平均滤波器的波形') legend('M=10'); %标示m执行结果如下所示:246810121416182000.10.20.30.4滑动平均滤波器的波形nyM=4246810121416182000.050.1ny滑动平均滤波器的波形M=10(4) 用上述滑动平均滤波器对输入的3D 加速度信号进行滤波,同时绘出输入及输出信号波形;观察分析输出波形的变化。

相关文档
最新文档