matlab与信号处理知识点.docx
- 文档编号:672925
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:19
- 大小:127.21KB
matlab与信号处理知识点.docx
《matlab与信号处理知识点.docx》由会员分享,可在线阅读,更多相关《matlab与信号处理知识点.docx(19页珍藏版)》请在冰豆网上搜索。
matlab与信号处理知识点
安装好MATLAB2012后再安装目录下点击setup.exe会出现"查找安装程序类时出错,查找类时出现异常"的错误提示。
该错误的解决方法是进入安装目录下的bin文件夹双击matlab.exe对安装程序进行激活。
这是可以对该matlab.exe创建桌面快捷方式,以后运行程序是直接双击该快捷方式即可。
信号运算
1、信号加
MATLAB实现:
x=x1+x2
2、信号延迟
y(n)=x(n-k)
3、信号乘
x=x1.*x2
4、信号变化幅度
y=k*x
5、信号翻转
y=fliplr(x)
6、信号采样和
数学描述:
y=MATLAB实现:
y=sum(x(n1:
n2))
7、信号采样积
数学描述:
MATLAB实现:
y=prod(x(n1:
n2))
8、信号能量
数学描述:
MATLAB实现:
Ex=sum(abs(x)^2)
9、信号功率
数学描述:
MATLAB实现:
Px=sum((abs(x)^2)/N
MATLAB窗函数
矩形窗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);
3、幅频和相频
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);
例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);
2、间接法
Fs=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('协方差方法','改进的协方差方法');
三、现在谱估计的非参数方法
1、MTM(Multitaper)法估计
时间-带宽的乘积NW,窗口数=2*NW-1
Pmtm函数:
实现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*log
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 信号 处理 知识点