安装好MATLAB2012后再安装目录下点击setup.exe会出现查找安装程序类时出错,查找类时出现异常的错误提示。该错误的解决方法是进入安装目录下的bin文件夹双击matlab.exe对安装程序进行激活。这是可以对该matlab.exe创建桌面快捷方式,以后运行程序是直接双击该快捷方式即可。信号运算1、信号加MATLAB实现:x=x1+x22、信号延迟y(n)=x(n-k)3、信号乘x=x1.*x24、信号变化幅度y=k*x5、信号翻转y=fliplr(x)6、信号采样和数学描述:y=21)(nnnnxMATLAB实现:y=sum(x(n1:n2))7、信号采样积数学描述:21)(nnnnxyMATLAB实现:y=prod(x(n1:n2))8、信号能量数学描述:nxnxE2|)(|MATLAB实现:Ex=sum(abs(x)^2)9、信号功率数学描述:102|)(|1PNnxnxNMATLAB实现:Px=sum((abs(x)^2)/NMATLAB窗函数矩形窗w=boxcar(n)巴特利特窗w=bartlett(n)三角窗w=triang(n)布莱克曼窗w=blackman(n)w=blackman(n,sflag)海明窗w=haiming(n)W=haiming(n,sflag)sflag用来控制窗函数首尾的两个元素值,其取值为symmetric、periodic汉宁窗w=hanning(n)凯塞窗w=Kaiser(n,beta),beta用于控制旁瓣的高度。n一定时,beta越大,其频谱的旁瓣越小,但主瓣宽度相应增加;当beta一定时,n发生变化,其旁瓣高度不变。切比雪夫窗:主瓣宽度最小,具有等波纹型,切比雪夫窗在边沿的采样点有尖峰。W=chebwin(n,r)数字滤波器的特性分析1、脉冲响应:impz函数调用方式:(1)[h,t]=impz(b,a):返回参数h是脉冲响应的数据,t是脉冲响应的时间间隔。(2)[h,t]=impz(b,a,N):N用来指定脉冲信号的长度。(3)[h,t]=impz(b,a,n,Fs):Fs用来指定脉冲信号的采样频率(4)[h,t]=impz(b,a,[],Fs):不再指定指定脉冲信号的长度。例:[b,a]=butter(4,0.05);impz(b,a,100);2、频率响应(幅频响应和相频响应)(1)数字滤波器频率响应:freqz函数调用方式:[h,w]=freqz(b,a,n):返回滤波器的n点复频率响应,b,a分别是滤波器系数的分子和分母向量。h是复频率响应,w是频率点。[h,w]=freqz(b,a,n,’whole’):采用单位圆上的n个点。h=freqz(b,a,w)[h,f]=freqz(b,a,n,fs)h=freqz(b,a,f,fs)(2)模拟滤波器频率响应:freqs函数调用方式:h=freqs(b,a,w):w指定频率点的复频率响应[h,w]=freqs(b,a,n):用n指定进行复频率响应的采样点数例:b=[0.30.61];a=[10.51];w=logspace(-1,1);freqs(b,a,w);10-1100101-100-50050Frequency(rad/s)Phase(degrees)10-110010110-0.5100.2Frequency(rad/s)Magnitude3、幅频和相频y=abs(x):计算x各元素的绝对值。当x为一个复数时,计算x的复数模。Y=angle(x):计算x向量各元素的复数相位值,单位为弧度。功率谱估(PSD)一、随机信号处理基础1、mean函数调用方式:(1)y=mean(X):当X为向量时,此函数结果为X的均值;当X为矩阵时,函数结果为一个行向量,其元素分别为矩阵每列元素的均值。(2)y=mean(X,dim):(3)dim=1时,函数结果为一个行向量,其元素分别为矩阵每列元素的均值。din=2时,函数结果为一个列向量,其元素分别为矩阵每行元素的均值。2、协方差:cov函数调用方式(1)y=cov(X):当X为向量时,函数返回结果为X的方差;当X为矩阵时,则它的每一列相当于一个变量,函数返回结果为该矩阵的列与列之间的协方差矩阵,diag(cov(X))是该矩阵每一个列向量的方差。(2)y=cov(X,Y):相当于cov([X(:)y(:)],计算两个等长度向量的互协方差矩阵。例如:X=[1234;5678;2478;1023;4567];A=cov(X);%计算协方差B=cov(X(1,:),X(3,:));%计算互协方差3、相关函数估计(1)xcorr函数:相关函数估计C=xcorr(A,B):当A和B为长度为M(M>1)的向量时,返回结果为长度为2M-1的互相关函数序列;当A和B长度不同时,则要对长度小的进行补零;如果A为列向量,则C也为列向量,如果A为行向量,则C也为行向量。C=xcorr(A):估计向量A的自相关函数。C=xcorr(A):当A为M*N的矩阵时,返回结果为(2M-1)行、N^2列的矩阵,该矩阵的列是由矩阵A所有列之间的互相关函数构成。C=xcorr(……,scaleopt):参数scaleopt用来指定相关函数估计所采用的估计方式,即biased:有偏估计方式unbiased:无偏估计方式coeff:对序列进行归一化处理none:计算序列的非归一化相关(2)xcov函数:协方差函数估计(3)相关系数估计计算Corrcoef函数:计算序列的相关系数二、经典功率谱估计方法1、直接法(周期图法)Periodogram函数:功率谱估计Pxx=periodogram(x):返回向量x的功率谱估计向量Pxx.Pxx=periodogram(x,window):参数window用来指定所采用的窗函数[Pxx,w]=periodogram(x,window,NFFT):若x为实信号,NFFT为偶数,则Pxx的长度为(NFFT/2+1);若x为实信号,NFFT为奇数,则Pxx的长度为(NFFT+1)/2;若x为复信号,则Pxx的长度为NFFT;若x为实信号,则w的范围为[0,Pi];若x为复信号,则w的范围为[0,2*Pi];[Pxx,f]=periodogram(x,window,NFFT,Fs):同时返回和估计PSD的位置一一对应的线性频率f,参数Fs为采样频率。若x为实信号,则f的范围为[0,Fs/2];若x为复信号,则f的范围为[0,Fs];例1:采用periodogram函数来计算功率谱Fs=2000;NFFT=1024;n=0:1/Fs:1;x=sin(2*pi*100*n)+4*sin(2*pi*500*n)+randn(size(n));window=boxcar(length(x));periodogram(x,window,NFFT,Fs);00.10.20.30.40.50.60.70.80.91-80-70-60-50-40-30-20-10010Frequency(kHz)Power/frequency(dB/Hz)PeriodogramPowerSpectralDensityEstimate例2、利用FFT直接法计算上面噪声信号的功率谱Fs=2000;nFFT=1024;n=0:1/Fs:1;x=sin(2*pi*100*n)+4*sin(2*pi*500*n)+randn(size(n));X=fft(x,nFFT);Pxx=abs(X).^2/length(n);t=0:round(nFFT/2-1);k=t*Fs/nFFT;p=10*log10(Pxx(t+1));plot(k,p);01002003004005006007008009001000-40-30-20-100102030402、间接法010020030040050060070080090010000510152025303540Fs=2000;nFFT=1024;n=0:1/Fs:1;x=sin(2*pi*100*n)+4*sin(2*pi*500*n)+randn(size(n));Cx=xcorr(x,'unbiased');Cxk=fft(Cx,nFFT);Pxx=abs(Cxk);t=0:round(nFFT/2-1);k=t*Fs/nFFT;p=10*log10(Pxx(t+1));plot(k,p);3、协方差法估计自回归功率谱估计的协方差方法Pcov函数自回归功率谱估计的改进的协方差方法Pmcov函数应用实例:比较两种方法在噪声信号的功率谱估计中的效果,发现两种方法基本相同。Fs=1000;h=fir1(20,0.3);r=randn(1024,1);x=filter(h,1,r);[p1,f]=pcov(x,20,[],Fs);[p2,f]=pmcov(x,20,[],Fs);Pxx1=10*log10(p1);Pxx2=10*log10(p2);plot(f,Pxx1,'r:',f,Pxx2,'g--');ylabel('幅值:dB');xlabel('功率谱估计');legend('协方差方法','改进的协方差方法');050100150200250300350400450500-100-90-80-70-60-50-40-30-20协方差方法改进的协方差方法三、现在谱估计的非参数方法1、MTM(Multitaper)法估计时间-带宽的乘积NW,窗口数=2*NW-1Pmtm函数:实现Multitaper法的功率谱估计调用方式(1)Pxx=pmtm(x):用Multitaper法对离散时间信号x进行功率谱估计,若x为实数,则返回结果为“单边”功率谱,若x为复数,则返回结果为“双边”功率谱。(2)Pxx=pmtm(x,NW):(3)Pxx=pmtm(x,NW,NFFT):参数NFFT用来指定FFT运算所采用的点数。若x为实信号,NFFT为偶数,则Pxx的长度为(NFFT/2+1);若x为实信号,NFFT为奇数,则Pxx的长度为(NFFT+1)/2;若x为复信号,则Pxx的长度为NFFT;NFFT默认值为256(4)[Pxx,w]=pmtm(……):输出参数w和估计PSD的位置一一对应的归一化角频率,单位rad/sample,范围如下:若x为实信号,则w的范围为[0,Pi];若x为复信号,则w的范围为[0,2*Pi];[Pxx,f]=pmtm(……,Fs):同时返回和估计PSD的位置一一对应的线性频率f,参数Fs为采样频率。若x为实信号,则f的范围为[0,Fs/2];若x为复信号,则f的范围为[0,Fs];(5)[Pxx,f]=pmtm(……,Fs,mehod):Method有:adapt:Thomson自适应非线性组合算法,默认值Unity:相同加权的线性组合Eigen:特征值加权的线性组合(6)[Pxx,Pxxc,f]=pmtm(……,Fs,mehod,p):P:0~1,指定PSD的置信度;Pxxc(:,1)是置信度区间的下部分的数值,Pxxc(:,2)是置信度区间的上部分的数值。(7)[Pxx,Pxxc,f]=pmtm(x,dpss_params,NFFT,Fs,mehod,p):(8)[……]=pmtm(……,’twoside/oneside’):应用说明:利用Multitaper进行PSD估计,并比较NW取不同数值时的结果。Fs=1000;nFFT=1024;t=0:1/Fs:1;x=sin(2*pi*200*t)+randn(size(t));[P1,f]=pmtm(x,2,nFFT,Fs);[P2,f]=pmtm(x,4,nFFT,Fs);[P3,f]=pmtm(x,10,nFFT,Fs);Pxx1=10*log10(P1);Pxx2=10*log10(P2);Pxx3=10*log10(P3);subplot(3,1,1);plot(f,Pxx1);xlabel('NW=2');subplot(3,1,2);plot(f,P