您的当前位置:首页数字信号处理-matlab函数

数字信号处理-matlab函数

来源:锐游网


这些是我在学习《数字信号处理》时整理的一些函数,这样在用时可以很方便的查找,做matlab时还可以直接将函数copy过去。希望大家都能够把自己的一些好的东西放到网上

和大家一起分享,不要总是做“拿来主义者”

A

abs(Xk32):求模值

angle(Xk32):求相位

axis([a, b, c, d]): (a, b)定义域和(c, d)值域范围

B

[Z,P,K]=buttap(N): 该格式用于计算N阶巴特沃斯归一化(3dB截止频率c1)模拟低通原型滤波器系统函数的零极点和增益因子。返回长度为N的列向量Z和P,分别给出N个零点和极点的位置,K表示滤波器增益。得到的系统函数为如下形式:

(pZ(1))(pZ(2))(pZ(N))(pP(1))(pP(2))(pP(N))

Ga(p)K式子中,Z(k)和P(k)分别为Z和P的第k个元素。如果要从计算得到的零、极点得到系统函数的分子和分母多项式系数向量B和A,可以调用结构转换函数[B,A]=zp2tf(Z,P,K).

[N,wc]=buttord(wp,ws,Rp,As): 该格式用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。调用参数wp和ws分别为数字滤波器的通带边界频率和阻带边界频率

的归一化值,要求0<=wp<=1, 0<=ws<=1,1表示数字频率(对应模拟频率Fs/2,Fs为采样频率)。Rp和As分别为通带最大衰减和阻带最小衰减(dB).当ws<=wp时为高通滤波器;当wp和ws为二元矢量时为带通或带阻滤波器,这时wc也是二元向量。N和wc作为butter函数的调用参量。

[N,wc]=buttord(wp,ws,Rp,As,’s’): 该格式用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率wc、wp、ws和wc是实际模拟角频率(rad/s)。其他参数与[N,wc]=buttord(wp,ws,Rp,As)相同。(同样的设计指标用巴特沃斯数字的和模拟的调用公式计算的阶数、wc可能会不一样,但都是正确的)

[B,A]=butter(N,wc,’ftype’): 计算N阶巴特沃斯数字滤波器系统函数分子和分母多项式的系数向量B和A。调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值(关于归一化),一般按格式[N,wc]=buttord(wp,ws,Rp,As)调用函数buttord计算N和wc。由系数向量B和A可以写出数字滤波器系统函数:

B(z)B(1)B(2)z1B(N)z(N1)B(N1)zNH(z)A(z)A(1)A(2)z1A(N)z(N1)A(N1)zN

式子中,B(k)和A(k)分别为向量B和A的第k个元素

[B,A]=butter(N,wc,’ftype’,’s’): 计算N阶巴特沃斯模拟滤波器系统函数分子和分母多项式的系数向量B和A。调用参数N和wc分别为巴特沃斯模拟滤波器的阶数和3dB截止频率(实际频率)。由系数向量B和A可以写出模拟滤波器系统函数:

B(s)B(1)sNB(2)sN1B(N)sB(N1)Ha(s)A(s)A(1)sNA(2)sN1A(N)sA(N1)

Ftype=high时,设计3dB截止频率为wc的高通滤波器,缺省时默认为低通滤波器。Ftype=stop时,设计3dB截止频率为wc的带阻滤波器,缺省时默认为带通滤波器,当然此时的wc和ws为二元向量。

C

ceil(A):朝正无穷方向舍入

[z,p,k]=cheb1ap(N,Rp):切比雪夫1型滤波器,其中Rp,As,N,z,p,k,B,A均和巴特沃斯相同,不过参数wpo是切比雪夫1型滤波器的通带截止功率,而不是3dB的截止频率。

[N,wpo]=cheb1ord(wp,ws,Rp,As):参见巴特沃斯

[N,wpo]= cheb1ord(wp,ws,Rp,As,’s’): 参见巴特沃斯

[B,A]=cheby1(N,Rp,wpo,’ftype’): 参见巴特沃斯

[B,A]=cheby1(N,Rp,wpo, ’ftype’,’s’): 参见巴特沃斯

[z,p,G]=cheb2ap(N,Rs): 切比雪夫2型滤波器,Rs为阻带最小衰减,wso为阻带截止频率

[N,wso]=cheb2ord(wp,ws,Rp,As):参见巴特沃斯

[N,wso]= cheb2ord(wp,ws,Rp,As,’s’): 参见巴特沃斯

[B,A]=cheby2(N,Rp,wso, ’ftype’): 参见巴特沃斯

[B,A]=cheby2(N,Rp,wso, ’ftype’,’s’): 参见巴特沃斯

conv(xn, yn): 卷积

D

disp: 显示函数,例如 disp(‘welcome’);

E

exp(x). : e的多少次方,注意还有一个点不要少

[z,p,k]=ellipap(N,Rp,As): 椭圆滤波器,wpo为通带边界频率

[N,wpo]= ellipord(wp,ws,Rp,As):参见巴特沃斯

[N,wpo]= ellipord(wp,ws,Rp,As,’s’): 参见巴特沃斯

[B,A]=ellip(N,Rp,As,wpo, ’ftype’): 参见巴特沃斯

[B,A]=ellip(N,Rp, As ,wpo, ’ftype’,’s’): 参见巴特沃斯

ezplot:

ezmesh:

F

fft(xn) :默认长度为length(xn)的离散傅里叶变换

fft(xn,16) :16点的离散傅里叶变换

figure(2):重新创建一个图形界面,figure(3)当然也可

filter(B,A,xn,xi): xn为输入信号的向量表示。xi是零输入下的y(0)(初始条件,可以为向量). yn= filter(A, B, xn, xi) 中yn表示全响应。

filtic(B,A,ys,xs): A为差分方程Y前的系数向量,B为差分方程X前的系数向量,ys=[ y(-1), y(-2), y(-3), ……,y(-N)]; xi=[ x(-1), x(-2), x(-3), ……,x(-M)]; xi= filtic(A, B, ys, xs) 得到的xi 是由初始条件得到的y(0).

fir1:窗函数的设计

hn=fir1(M,wc),返回6dB的截止频率为wc(单位脉冲响应h(n)长度为M+1)的FIR低通滤波器向量hn,默认选用hamming窗。

h(n)=hn(n+1),n=0,1,2,……M.

而且满足线性相位条件:h(n)=h(N-1-n),wc为对pi归一化的数字频率,0<=wc<=1。当wc=[wcl,wcu]时,得到的是带通滤波器,其-6dB通带为wcl<=wc<=wcu。

hn=fir1(M,wc,’ftype’),可设计高通和带阻FIR滤波器。当ftype=high时,设计高通FIR滤波器,当ftype=stop,且wc=[wcl,wcu]时,设计带阻滤波器。

应当注意,再设计高通和带阻FIR滤波器时,阶数M只能取偶数(N=M+1为奇数)。不过当用户将M设置为奇数时,fir1会将M自动加1。

hn=fir1(M,wc,window),可以指定窗函数向量window。如果缺省window参数,则fir1默认为hanmming窗。hn=fir1(M,wc, bartlett (M+1)),使用bartlett三角形窗设计,boxcar(M+1):矩形窗 /hanning(M+1) /hamming(M+1) /Blackman(M+1) /kaiser(M+1,alph)

fix(A):朝零方向舍入

floor(A):朝负无穷方向舍入

fopen: 例fid = fopen('D:/cos_coe.txt','wt'); fid返回值为-1表示不能打开

fprintf: 例fprintf(fid, ' %16.0f \\n ' , yn); fid 是从fopen得到的值, %16.0f \\n 和C中输出格式是一致的

fclose: 例如fclose(fid);

frewind, fread, fwrite, , fgets, fgetl

freqs: 计算模拟滤波器H(s)的频率响应

(1)H=freqs(B,A,w) 计算由向量w指定的模拟频率点上模拟滤波器H(s)的频率响应H(e),结果存于H向量中。B, A仍为H(s)的分子和分母多项式系数向量。

jfreqz: 计算数字滤波器H(z)的频率响应

(1)H=freqz(B,A,w) 计算由向量w指定的数字频率点上数字滤波器H(z)的频率响应H(e),结果存于H向量中。B, A仍为H(z)的分子和分母多项式系数向量。

j(2)[H,w]=freqz(B,A,M)计算出M个频率点上的频率响应,存放在H向量中,M个频率存在向量w中。Freqz函数自动将这M个频率点均匀设置在范围[0,pi]上。

(3)[H,w]=freqz(B,A,M,’whole’) M个频率点均匀设置在范围[0,2*pi]上。

(4)freqz(B,A) 自动选取512个频率点计算。不带输出向量的freqz函数将自动绘出固定格式的幅频响应和相频响应曲线。所谓固定格式,是指频率范围为[0,pi],频率和相位是线性坐标,幅频响应是对数坐标。

G

Grid on :画网格

I

ifft(XK,16) :16点的离散傅里叶反变换

impz(B,A,N): 单位脉冲响应。A表示差分方程y(n)的各项系数,B为x(n)各项系数。

N为显示的输出个数

[Bz,Az]=impinvar(B,A,Fs): 用脉冲响应不变法将模拟滤波器转化为数字滤波器,B,A分别为模拟滤波器函数分子和分母多项式系数向量,Bz,Az分别为数字滤波器函数分子和分母多项式系数向量,Fs为采样频率,缺省时为1Hz。

f=itrans ( F ) :对F(z)进行Z反变换,其结果为f(n) (注意:在调用函数ztrans( )及iztrans( )之前,要用syms命令对所有需要用到的变量(如t,u,v,w)等进行说明,即要将这些变量说明成符号变量。)

f=itrans(F,u) :对F(z)进行Z反变换,其结果为f(u)

f=itrans(F,v,u ):对F(v)进行Z反变换,其结果为f(u)

L

length(yn1):求yn1的长度

linspace(0,2*pi,30): 生成一组线性等距的数值.x=linspace(0,2*pi,30);

O

ones(1,4) :4个1

open+函数名:打开一个函数

P

plot(x,y,线形,颜色,线条宽度),后三个是可选项,

线型 线方式: - 实线 :点线 -. 虚点线 - - 波折线。

线型 点方式: . 圆点 +加号 * 星号 x x形 o 小圆

颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青.

pretty(): 显示一个表达式,如:f=0.5^n+(1/3)^n;pretty(f);

R

round(A):四舍五入

S

stem:根据一个x对应一个y,绘制火柴梗图

subplot(m,n,k): m行n列,在第k块画图

X

xlabel(‘string’): x轴显示

xlabel('\\omega/\\pi'): /

Z

zero(1,4) : 4个0

zplane 绘制H(z)的零、极点图

(1)zplane(z,p) 绘制出列向量z中的零点和列向量P中的极点,同时画出参考单位圆,并在多阶零点和极点右上角标出其阶数。如果z和p为矩阵,则zplane 以不同颜色分别绘出z和p各列中的零点和极点。

(2)zplane(B,A) 绘制出系统函数H(z) 的零极点图。其中B,A分别为系统函数H(z)=B(z)/A(z)的分子多项式和分母多项式系数向量。

F=ztrans( f ):对f(n)进行Z变换,其结果为F(z)(注意:在调用函数ztran( )及iztran( )之前,要用syms命令对所有需要用到的变量(如t,u,v,w)等进行说明,即要将这些变量说明成符号变量。)

F=ztrans(f,v):对f(n)进行Z变换,其结果为F(v)

F=ztrans(f,u,v):对f(u)进行Z变换,其结果为F(v)

因篇幅问题不能全部显示,请点此查看更多更全内容

Top