matlab信号处理

来源:互联网 发布:python 列表生成式 编辑:程序博客网 时间:2024/03/29 14:23

 闲暇时间写了一些关于信号处理的东西,基于matlab.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 信号时域分析时的常用函数/方法   %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1.impulse
impulse用于求连续系统冲激响应,并绘制其时域波形。
调用格式:impulse(b,a) or impulse(b,a,t) or impulse(b,a,t1:t2)
  b,a:系统方程对应的系数矩阵;
  t:时域波形的冲激响应时间范围:0—t;
  t1:t2:时域波形的冲激响应时间范围:t1—t2;
example:
系统微分方程:y``(t)+5*y`(t)+6*y(t)=3*f``(t)+2*f(t)
则matlab命令如下:
a=[1 5 6];
b=[3 2];
impulse(b,a)

2.step
step用于求连续系统阶跃响应,并绘制其时域波形。
调用格式:同impulse函数相同。
example:
系统微分方程:2*y``(t)+y`(t)+8*y(t)=3*f(t)
则matlab命令如下:
a=[2 1 8];
b=[1];
step(b,a)

3.impz
impz用于描述离散系统在指定时间范围内单位响应的时域波形,并能求出系统单位响应在指定时间范围内的数值解。
调用格式:impz(b,a) or impz(b,a,n) or impz(b,a,n1:n2) or y=impz(b,a,n1:n2)
  n:离散时间范围:0—n(n必须为整数);
  y=impz(b,a,n1:n2):不描绘波形,只返回系统数值解。
example:
系统微分方程:2*y(k)-2*y(k-1)+y(k-2)=f(k)+3*f(k-1)+2*f(k-2)
matlab命令如下:
a=[2 -2 1];
b=[1 3 2];
impz(b,a,60)  %0-60之间描绘60个离散点
y=impz(b,a,60)  %返回0-60之间60个离散点

4.isim
isim用于描述LTI连续系统在指定时间范围内系统响应的时域波形,并能求出数值解。
调用格式:isim(b,a,x,t) or y=isim(b,a,x,t)
  x:输入信号;
  t:输入信号的时间向量;
  y=isim(b,a,x,t):不描绘波形,只返回系统数值解。
example:
系统微分方程:y``(t)+2*y`(t)+y(t)=f`(t)+2*f(t)
matlab命令如下:
a=[1 2 1];
b=[1 2];
p=0.01;
t=0:p:5;
x=exp(-2*t);  %输入信号:x=e^(-2*t)
isim(b,a,x,t)  %绘制波形
y=isim(b,a,x,t)  %返回值

5.filter
filter为LTI离散系统专用函数,该函数能求出由差分方程描述的离散系统在指定时间范围内的输入序列的所产生的响应序列数值解。
调用格式:y=filter(b,a,x)
  x:输入序列非零样值点的行向量;
example:
系统微分方程:y(k)-0.25*y(k-1)+0.5*y(k-2)=f(k)+f(k-1)
matlab命令如下:
a=[1 -0.25 0.5];
b=[1 1];
t=0:40;
x=(1/2).^k;   %输入序列
y=filter(b,a,x);
subplot(211)
stem(t,x,'fill')  %绘制输入离散序列波形,参数'fill'为实心点
title('Input sequence')  
subplot(212)
stem(t,y)   %绘制系统响应离散序列波形   
title('response sequence');

 

 

 

 


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 以下是连续时间信号频域内  %
% 用到的一些分析方法/函数   %
% 一一罗列,至于详细方法不做  %
% 说明,参看matlab帮助文档即可  %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

6.F=fourier(f)    %傅立叶变换函数:对时域函数f做傅立叶变换
7.f=ifourier(F)    %傅立叶逆变换
8.y=modulate(x,fc,fs,'method')  %信号调制函数:用于实现信号的调制。
              x: 被调信号
             fc:载波频率
             fs:对信号x的采样率
             'method':调制方法,有'am'(幅度调制),'amdsd-tc'(双边带调制),
        'amssb'(单边带调制),'fm'(频率调制),'pm'(相位调制)等
         未列举完,详情可参看matlab帮助文档

9.[pxx,w]=pwelch(x,window,noverlap,nfft,fs)  %信号功率谱密度计算函数:window:窗类型,一般情况下均选择海明窗-'hamming'
           noverlap:重叠长度
           nfft:做fft变换点数
           fs:  对x采样率
   
未完待续...

然后写了几个M文件,也主要是关于信号处理和分析函数/方法。感兴趣的朋友可以下载看看。木糖.cn【matlab】目录下。

前几天下matlab2009a,网上找费了好大劲,这里顺带给大家一个下载地址吧:ed2k://|file|TLF-SOFT-Mathworks.Matlab.R2009a.ISO-TBE.iso|4349970432|425c2d2f0a9e7995ba0069eee8810be4|h=FVZD4HD5TGCDL2F5C44KI4XBKBZV7YS6|
 

下载方法:打开迅雷/电驴,复制以上地址会自动弹出下载消息框,即可。

//好东东大家分享,欢迎交流学习。