matlab中关于数字滤波器的函数介绍

  • 格式:doc
  • 大小:49.00 KB
  • 文档页数:8

下载文档原格式

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

MATLAB下的数字信号处理实现示例

一信号、系统和系统响应

1、理想采样信号序列

(1)首先产生信号x(n),0<=n<=50

n=0:50; %定义序列的长度是50

A=444.128; %设置信号有关的参数

a=50*sqrt(2.0)*pi;

T=0.001; %采样率

w0=50*sqrt(2.0)*pi;

x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形

subplot(3,1,1);stem(x); %绘制x(n)的图形

title(‘理想采样信号序列’);

(2)绘制信号x(n)的幅度谱和相位谱

k=-25:25;

W=(pi/12.5)*k;

X=x*(exp(-j*pi/12.5)).^(n’*k);

magX=abs(X); %绘制x(n)的幅度谱

subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’);

angX=angle(X); %绘制x(n)的相位谱

subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’)(3)改变参数为:1,0734.2,4.0,10==Ω==TAα

n=0:50; %定义序列的长度是50

A=1; %设置信号有关的参数

a=0.4;

T=1; %采样率

w0=2.0734;

x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形

subplot(3,1,1);stem(x); %绘制x(n)的图形

title(‘理想采样信号序列’);

k=-25:25;

W=(pi/12.5)*k;

X=x*(exp(-j*pi/12.5)).^(n’*k);

magX=abs(X); %绘制x(n)的幅度谱

subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’);

angX=angle(X); %绘制x(n)的相位谱

subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’)

2、单位脉冲序列

在MatLab中,这一函数可以用zeros函数实现:

n=1:50; %定义序列的长度是50

x=zeros(1,50); %注意:MATLAB中数组下标从1开始

x(1)=1;

close all;

subplot(3,1,1);stem(x);title(‘单位冲击信号序列’);

k=-25:25;

X=x*(exp(-j*pi/12.5)).^(n’*k);

magX=abs(X); %绘制x(n)的幅度谱

subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱’);

angX=angle(X); %绘制x(n)的相位谱

subplot(3,1,3);stem(ang X) ; title (‘单位冲击信号的相位谱’)

3、矩形序列

n=1:50

x=sign(sign(10-n)+1);

close all;

subplot(3,1,1);stem(x);title(‘单位冲击信号序列’);

k=-25:25;

X=x*(exp(-j*pi/25)).^(n’*k);

magX=abs(X); %绘制x(n)的幅度谱

subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱’);

angX=angle(X); %绘制x(n)的相位谱

su bplot(3,1,3);stem(angX) ; title (‘单位冲击信号的相位谱’)

4、特定冲击串:)3()2(5.2)1(5.2)()(−+−+−+=nnnnnxδδδδ

n=1:50; %定义序列的长度是50

x=zeros(1,50); %注意:MATLAB中数组下标从1开始

x(1)=1;x(2)=2.5;x(3)=2.5;x(4)=1;

close all;

subplot(3,1,1);stem(x);title(‘单位冲击信号序列’);

k=-25:25;

X=x*(exp(-j*pi/12.5)).^(n’*k);

magX=abs(X); %绘制x(n)的幅度谱

subplot(3,1,2);stem(magX);title(‘单位冲击信号的幅度谱’);

angX=angle(X); %绘制x(n)的相位谱

subplot(3,1,3);stem(angX) ; title (‘单位冲击信号的相位谱’)

5、卷积计算:Σ+∞−∞=−=∗=mmnhmxnhnxny)()()()()(

在MATLAB中。提供了卷积函数conv,即y=conv(x,h),调用十分方便。例如:系统:)3()2(5.2)1(5.2)()(−+−+−+=nnnnnhbδδδδ

信号:500),sin()(0<≤Ω=−nnTAetxnTaα

n=1:50; %定义序列的长度是50

hb=zeros(1,50); %注意:MATLAB中数组下标从1开始

hb(1)=1;hb(2)=2.5;hb(3)=2.5;hb(4)=1;

close all;

subplot(3,1,1);stem(hb);title(‘系统hb[n]’);