【教学课件】第九节信号处理工具箱.ppt
第九节 信号处理工具箱,1.波形产生,1.sin 正弦波格式:x=sin(t)例:t=0:0.001:1;y=sin(2*pi*t);plot(y)z=sin(2*pi*10*t);plot(z)设信号的采样频率为F,信号的自变量通常取为t=0:1/F:n,n表示信号的时间长度为n秒。则sin(2*pi*t)即为频率为1的正弦波,sin(2*pi*f*t)即为频率为f的正弦波,1.波形产生,2.sawtooth 锯齿波或三角波格式:x=sawtooth(t)sawtooth(t,1)x=sawtooth(t,width)3.square 方波格式:x=square(t)square(t,50)x=square(t,duty)4.sinc 产生sinc或sin(pi*t)/(pi*t)函数格式:x=sinc(t)5.diric 产生Dirichlet 或周期sinc函数格式:x=diric(t,n),2.变换,1fft 一维快速傅立叶变换,用于计算离散傅立叶变换格式:y=fft(x)y=fft(x,n)采用n点FFT例:t=0:0.001:1;x=sin(2*pi*50*t)+sin(2*pi*120*t);y=x+1.5*randn(1,length(t);Y=fft(y,512);P=Y.*conj(Y)/512;%计算功率谱密度f=1000*(0:255)/512;plot(f,P(1:256),2.变换,2ifft 一维逆快速傅立叶变换(IFFT)格式:y=ifft(x)y=ifft(x,n)3.hilbert 希尔伯特变换格式:y=hilbert(x)4.czt 线形调频Z变换,格式:y=czt(x,m,w,a)y=czt(x)计算x沿着由w和a定义的螺旋周线上的Z变换,指定变换长度,w指定沿着z平面螺旋周线上的点之间的比率(即倾斜率),a指定起始点,3.统计信号处理,1cov 协方差矩阵格式:c=cov(x)当x为矢量时,cov(x)可求出矢量x的方差(标量)当x为矩阵时,cov(x)可得到协方差矩阵而diag(conv(x)则为由每列数据的方差所构成的矢量,3.统计信号处理,2xcov 互协方差(自协方差)函数估计格式:v=xcov(x,y)v=xcov(x)3xcorr 互相关(自相关)函数估计格式:v=xcorr(x,y)v=xcorr(x),4.窗函数,1矩形窗 w=boxcar(n)2三角窗 w=triang(n)3巴特利特窗 w=bartlett(n)4汉明窗 w=hamming(n)5汉宁窗 w=hanning(n)6布莱克曼窗 w=blackman(n)7切比雪夫窗 w=chebwin(n,r)8凯泽窗 w=kaiser(n,beta),5.滤波,IIR滤波器结构:,5.滤波,M阶IIR滤波器:差分方程表达式:,5.滤波,FIR滤波器结构:,5.滤波,M阶FIR滤波器:差分方程表达式:,5.滤波,1filter 利用递归滤波器(IIR)或非递归滤波器(FIR)对数据进行数字滤波格式:y=filter(b,a,x)b,a为滤波器系数,x为待滤波的数据 2fftfilt 利用基于FFT的重叠相加法对数据进行滤波,只适用于非递归滤波器(FIR)格式:y=fftfilt(b,x),5.滤波,3freqz 数字滤波器的频率响应格式:h,w=freqz(b,a)freqz(b,a,n)freqz(b,a,w)4freqs 模拟滤波器的频率响应格式:h,w=freqs(b,a)freqs(b,a,n)freqs(b,a,w),6.IIR滤波器设计,1besself 贝塞尔模拟滤波器设计 b,a=besself(n,Wn)n阶截止频率Wn的低通模拟滤波器 b,a=besself(n,W1 W2)W1W22n阶带通模拟滤波器 b,a=besself(n,Wn,high)n阶截止频率Wn的高通模拟滤波器 b,a=besself(n,W1 W2,stop)W1W22n阶带阻模拟滤波器,6.IIR滤波器设计,2butter 比特沃思模拟和数字滤波器设计 b,a=butter(n,Wn)0=Wn=1n阶截止频率Wn的低通数字滤波器 b,a=butter(n,W1 W2)W1W22n阶带通数字滤波器 b,a=butter(n,Wn,high)Wn=1相当于fs/2n阶截止频率Wn的高通数字滤波器 b,a=butter(n,W1 W2,stop)W1W22n阶带阻数字滤波器 b,a=butter(n,Wn,high,s)n阶截止频率Wn的高通模拟滤波器,6.IIR滤波器设计,例:t=0:0.001:1;x=sin(t*2*pi*200)+sin(t*2*pi);b,a=butter(10,0.2);figure(1);freqz(b,a)y=filter(b,a,x);figure(2)subplot(2,1,1);plot(x)subplot(2,1,2);plot(y),6.IIR滤波器设计,3yulewalk 递归数字滤波器设计格式:b,a=yulewalk(n,f,m)f为频率点,m为相应的响应幅度例:f=0 0.6 0.65 0.7 1;m=1 1 0.5 0 0;b,a=yulewalk(8,f,m);h,w=freqz(b,a,128);plot(f,m,w/pi,abs(h),-),7.FIR滤波器设计,1fir1 基于窗函数的FIR滤波器设计标准频率响应b=fir1(n,Wn)0=Wn=1,Wn=1相当于fs/2 n阶截止频率Wn的加汉明Hamming窗线形相位低通FIR滤波器 b=fir1(n,W1 W2,stop)W1W22n阶带阻模拟滤波器 b=fir1(n,Wn,Window)Window长度为n+1采用向量Window中指定的窗函数进行设计的滤波器,7.FIR滤波器设计,例:W=chebwin(35,30);b=fir1(34,0.48,high,W);freqz(b,1,512);,7.FIR滤波器设计,2fir2 基于窗函数的FIR滤波器设计任意标准频率响应 b=fir2(n,f,m)b=fir2(n,f,m,Window)其中:f为频率点,m为相应的响应幅度,Window为指定的窗函数,7.FIR滤波器设计,例:f=0 0.6 0.6 1;m=1 1 0 0;b=fir2(30,f,m);h,w=freqz(b,1,128);figure(1);plot(f,m,w/pi,abs(h),-)t=0:0.001:1;x=sin(t*2*pi*350)+sin(t*2*pi*10);y=fftfilt(b,x);figure(2)subplot(2,1,1);plot(x)subplot(2,1,2);plot(y),7.FIR滤波器设计,3firls 最小二乘线形相位FIR滤波器设计b=firls(n,f,m)3remez 最优FIR滤波器设计b=remez(n,f,m),8.其他,1medfilt1 一维中值滤波y=medfilt1(x,n),8.其他,2interp 提高采样速率(内插)y=interp(x,r)结果:y的长度是x的r倍3decimate 降低采样速率(内插)y=decimate(x,r)结果:y的长度是x的1/r,8.其他,例:t=0:0.00025:1;x=sin(2*pi*30*t)+sin(2*pi*60*t);y=decimate(x,4);subplot(2,1,1);stem(x(1:120);subplot(2,1,2);stem(y(1:30);,