您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 常用MATLAB函数详解及用法
随机信号产生rand:产生均匀分布的随机数rand(n)产生一个n*n的随机矩阵,元素分布于(0,1)rand(m,n)产生m*n均匀分布的随机矩阵为了使每次执行rand函数时产生和之前不相同的一组伪随机数,通常需要初始化随机数种子。方法很多,常见的一种是在写m文件时,在程序的开头写:rand('state',sum(100*clock))randn:产生标准正态分布的随机数(均值为0,方差为1)Y=randn(n)返回一个n*n的随机项的矩阵Y=randn(m,n)返回一个m*n的随机项矩阵。Y=randn(size(A))返回一个和A有同样维数大小的随机数组。randn返回一个每次都变化的一个数值Ex.产生一个随机分布的指定均值和方差的矩阵:将randn产生的结果乘以标准差,然后加上期望均值即可。例如,产生均值为0.6,方差为0.1的一个5*5的随机数方式如下:x=.6+sqrt(0.1)*randn(5)randi:产生均匀分布的随机整数randi(imax)产生分布于[1:imax]的随机整数r=randi(imax,n)产生分布于[1:imax]的n*n随机整数矩阵.randi(imax,m,n)产生分布于[1:imax]的m*n随机整数矩阵.r=randi([imin,imax],...)产生分布于[imin:imax]间的随机整数Ex:生成均匀分布于-10:10的整数r=randi([-1010],100,1);wgn:生成高斯白噪声y=wgn(m,n,p)产生一个m行n列的高斯白噪声的矩阵,p为输出功率,单位dBW。默认负载阻抗为1Ωy=wgn(m,n,p,imp)以欧姆为单位指定负载阻抗。y=wgn(...,powertype)powertype指定p的单位,'dBW','dBm','linear'。linearpower以瓦特(Watt)为单位。y=wgn(...,outputtype)outputtype指定输出为'real'或'complex'。若输出为'complex',实部和虚部的功率分别为p/2.y=wgn(m,n,p,imp,state)重置randn的状态。%生成N(m,var)的高斯分布变量N=500;%采样点数mu=1;%均值var=5;%方差,交流功率s=randn(1,N);s_norm=(s-mean(s))/std(s);%归一化sig=mu+sqrt(var)*s_norm;awgn:在某一信号中加入高斯白噪声y=awgn(x,SNR)在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。y=awgn(x,SNR,SIGPOWER)如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为'measured',则函数将在加入噪声之前测定信号强度。y=awgn(…,POWERTYPE)指定SNR和SIGPOWER的单位。如果POWERTYPE是'dB',那么SNR以dB为单位,而SIGPOWER以dBW为单位;如果POWERTYPE是linear,那么SNR作为比值来度量,而SIGPOWER以W为单位。统计hist:直方图显示数据值的分布n=hist(Y)将向量Y中的元素分到10个等间隔的范围内,并返回每个范围内元素的个数作为一行向量。如果Y是一个m*p的矩阵,hist将Y的每一列作为一个向量,并返回一个10*p的矩阵n。n的每一列的值对应Y的该列。n=hist(Y,x)x是一个向量,返回x的长度个以x为中心的,Y的分布情况。n=hist(Y,nbins)nbins为间隔数,直方图按nbins划分间隔并统计落在其中的数目。[n,xout]=hist(...)返回n和xout,包含有数目频率和间隔位置。可使用bar(xout,n)来绘制直方图。xcorr:估计随机过程的互相关函数互相关序列的实际计算公式为Rxy(m)=E{xn+myn*}=E{xny*n-m},xn和yn为平稳随机过程,−∞n∞,其中E{·}为期望,且xcorr函数只能估计有限序列。c=xcorr(x,y)返回长度为2*N-1互相关函数序列,其中x和y的矢量长度均为N,如果x和y的长度不一样,则在短的序列后补零直到两者长度相等。默认情况下,xcorr计算未正规化的原始相关系数。1*^0^01()()0NmnmnnxyxyxymNRmRmm输出矢量C为c(m)=Rxy(m-N),m=1,...,2N-1,(即m-N=1-N,2-N,...,-1,0,1,...,N-2,N-1)。通常,互相关函数需要正规化来得到更准确的估计值。c=xcorr(x)为矢量x的自相关估计;c=xcorr(x,y,'option')为有正规化选项的互相关计算;其中biased为有偏的互相关函数估计,^^,1()()xybiasedxyRmRmN;unbiased为无偏的互相关函数估计,^^,1()()||xyunbiasedxyRmRmNm;coeff为正规化序列的相关计算,0延时处计算结果恒等于1.0(仅此选项);none为原始的互相关计算,默认;c=xcorr(x,'option')特指以上某个选项的自相关估计。c=xcorr(x,y,maxlags)返回一个延迟范围在[-maxlags,maxlags]的互相关函数序列,输出c的长度为2*maxlags+1.c=xcorr(x,maxlags)返回一个延迟范围在[-maxlags,maxlags]的自相关函数序列,输出c的长度为2*maxlags+1.c=xcorr(x,y,maxlags,'option')同时指定maxlags和option的互相关计算.c=xcorr(x,maxlags,'option')同时指定maxlags和option的自相关计算.[c,lags]=xcorr(...)返回相关估计c对应的延迟量lag,其范围为[-maxlags:maxlags],当maxlags没有指定时,其范围为[-N+1,N-1]总之,无论是互相关计算还是自相关计算都是以序列中间位置进行0lags计算。lags有助于相关函数的绘图Ex零均值高斯白噪声cww(m)的自相关估计,-10≤m≤10ww=randn(1000,1);[c_ww,lags]=xcorr(ww,10,'coeff');plot(lags,c_ww)滤波器设计fir1:窗函数设计FIR滤波器fir1是用窗函数法设计线性相位FIR数字滤波器的工具箱函数。可设计标准的低通,高通,带通,带阻滤波器。默认情况下,滤波器进行了归一化,滤波器在通带中心频率处,幅度相应为0dB注:可用fir2设计任意的频响滤波器b=fir1(n,Wn)返回截止频率为Wn的n阶(单位脉冲响应h长度n+1)FIR低通(Wn为标量)滤波器系数行向量b。该滤波器采用Hamming窗,输出滤波器系数b按z的降幂排列,B(z)=b(1)+b(2)*z^-1+…+b(n+1)*z^-N.Wn为对π归一化的数字频率,介于[0,1],1对应于奈奎斯特频率。若Wn=[wlw2]时,得到的是带通滤波器,其中-6dB通带为wl=ω=w2。默认情况下,滤波器进行了量化,加窗后通带中心的幅度为1.若Wn为多元的向量,Wn=[w1w2w3w4w5...wn],fir1返回多频带滤波器,频带为0ωw1,w1ωw2,...,wnω1.b=fir1(n,Wn,'ftype’),可设计高通和带阻FIR滤波器。当ftype=high时,设计高通FIR滤波器,截止频率为Wn;当ftype=stop时,且wc=[wl,w2]时,设计带阻FIR滤波器。当ftype=DC-1时,指定多频带滤波器的第一个频带为通带。当ftype=DC-0时,指定多频带滤波器的第一个频带为阻带。在设计高通和带阻FIR滤波器时,阶数n只能取偶数(h(n)长度n+1为奇数)。因为奇数阶时,奈奎斯特频率处的频响为0,不适合高通和带阻滤波器。不过,当用户将n设置为奇数时,fir1会自动对n加1。b=fir1(n,Wn,window),可以指定窗函数向量window。向量为n+1的列向量,默认为Hamming窗。b=fir1(n,Wn,bartlett(M+1)),使用Bartlett窗设计。b=fir1(n,Wn,blackman(M+1)),使用blackman窗设计。b=fir1(n,Wn,'ftype',window),通过选择Wn,ftype和window参数(含义同上),可以设计各种加窗滤波器。b=fir1(...,'normalization')指定是否归一化滤波器幅度,'scale'(默认):归一化滤波器,通带中心频率处的幅度相应为0bB'noscale':不归一化.fir1所设计滤波器的群时延为n/2.1.buttord(1)[N,wc]=buttord(wp,ws,αp,αs)用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:0≤wp≤1,0≤ws≤1。1表示数字频率pi。αp,αs分别为通带最大衰减和组带最小衰减(dB)。当ws≤wp时,为高通滤波器;当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。N,wc作为butter函数的调用参数。(2)[N,Ωc]=buttord(Ωp,Ωs,αp,αs,‘s’)用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率Ωc。Ωp,Ωs,Ωc均为实际模拟角频率。说明:buttord函数使用阻带指标计算3dB截止频率,这样阻带会刚好满足要求,而通带会有富余。2.buttap(N)[z0,p0,k0]=buttap(N)用于计算N阶巴特沃斯归一化(3dB截止频率Ωc=1)模拟低通原型滤波器系统函数的零、极点和增益因子。说明:如果要从零、极点模型得到系统函数的分子、分母多项式系数向量ba、aa,可调用[B,A]=zp2tf(z0,p0,k0)3.butter[b,a]=butter(N,wc,‘ftype’)计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值(关于pi归一化),一般是调用buttord(1)格式计算N和wc。系数b、a是按照z-1的升幂排列。(2)[B,A]=butter(N,Ωc,‘ftype’,‘s’)计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量ba、aa。调用参数N和Ωc分别为巴特沃斯模拟滤波器的阶数和3dB截止频率(实际角频率),可调用buttord(2)格式计算N和Ωc。系数B、A按s的正降幂排列。tfype为滤波器的类型:◇ftype=high时,高通;Ωc只有1个值。◇ftype=stop时,带阻阻;此时Ωc=[Ωcl,Ωcu],分别为带阻滤波器的通带3dB下截止频率和上截止频率。◇ftype缺省时:若Ωc只有1个值,则默认为低通;若Ωc有2个值,则默认为带通;其通带频率区间ΩclΩΩcu。注意:所设计的带通和带阻滤波器系统函数是2N阶。因为带通滤波器相当于N阶低通滤波器与N阶高通滤波器级联。find:寻找非零元素的索引和值1.ind=find(X)找出矩阵X中的所有非零元素,并将这些元素的线性索引值(linearindices:按列)返回到向量ind中。如果X是一个行向量,则ind是一个行向量;否则,ind是一个列向量。如果X不含非零元素或是一个空矩阵,则ind是一个空矩阵。2.ind=find(X,k)或3.ind=find(X,k,'first')返回第一个非零元素k的索引值。k必须是一个正数,但是它可以是任何数字数值类型。4.ind=find(X,k,'last')返回最后一个非零元素k的索引值。5.[row,col]=find(X,...)返回矩阵X中非零元素的行和列的索引值。这个语法对
本文标题:常用MATLAB函数详解及用法
链接地址:https://www.777doc.com/doc-1399525 .html