资源简介
包含经典谱估计的多种方法:直接法(周期图法),间接法(自相关法),直接法的改进方法(Bartlett法,Welch法)
代码片段和文件信息
clcclear
n=0:255;
fs=1;
x=cos(0.35*pi*n)+cos(0.4*pi*n)+1.5*cos(0.8*pi*n);
a=0.5;
noise = a*randn(size(x)); %加高斯白噪声的信号
y = x+ noise;
N=256;
%%%%%%%%%%%%%%%%%%%经典谱估计%%%%%%%%%%%%%%%%%%%%%%%
%%%周期图:对信号做256点的傅里叶变换,取幅值的平方再除以N
F1=abs(fft(yN));
P_per=1/N*F1.^2;
f=-0.5:1/N:0.5-1/N;
nn=2*pi*f/pi; %0:1/fs:(1-1/fs);
subplot(221)
P_per=10*log10(P_per);
y2=[P_per(129:256)P_per(1:128)];
plot(nny2)
xlabel(‘频率‘)ylabel(‘功率谱P(dB)‘)title(‘周期图法‘ );
%%%%自相关法(BT法):对信号求自相关函数再对他做傅里叶变换(平滑)
%****自相关函数的直接计算
rxk=xcorr(y‘unbiased‘);
%N=length(rxk);
pxw21=abs(fft(rxkN));
subplot(222)
pxw22=10*log10(pxw21);
y3=[pxw22(129:256)pxw22(1:128)];
plot(nny3)
xlabel(‘频率‘)ylabel(‘功率谱P(dB)‘)title(‘BT法‘ );
%%%%%%%%%%%%Baetlett法
M=32; %段长
L1=length(y)/M; %段数
Win1=boxcar(M); %矩形窗
sum_Per=0;
y_ba=[L1M];Y_ba=[L1M];P_per=[L1M];
for i=1:L1
y_ba(i1:M)=y(1+(i-1)*M:M+(i-1)*M).*Win1‘; %加窗
Y_ba(i1:M)=abs(fft(y_ba(i1:M)M)); %一段傅里叶变换的幅值
P_per(i1:M)=1/M*Y_ba(i1:M).^2; %一段的功率谱
end
AA=sum(P_per1);
AA=10*log10(AA);
y3=[AA(length(AA)/2+1:length(AA))AA(1:length(AA)/2)];
ff=-0.5:1/M:0.5-1/M;
nn=2*pi*ff/pi;
subplot(223)
plot(nny3);
xlabel(‘频率‘)ylabel(‘功率谱P(dB)‘)title([‘ Baetlett法段长M=‘ int2str(M)] );
%%%%%%%%%%%%%%Welch法
M=32;
L2=(N-M/2)/M*2;
Win2=hamming(M); %
kk=Win2.^2;
U=1/M*sum(kk); %归一化因子
y_we=zeros(L2M);Y_we=zeros(L2M);P_per_we=zeros(L2M);
for i=1:L2
y_we(i1:M)=y(1+(i-1)*M/2:M+(i-1)*M/2).*Win2‘; %加窗
Y_we(i1:M)=abs(fft(y_we(i1:M)M)); %一段傅里叶变换的幅值
P_per_we(i1:M)=1/M/U*Y_we(i1:M).^2; %一段的功率谱
end
BB=sum(P_per_we1);
BB=10*log10(BB);
y4=[BB(length(BB)/2+1:length(BB))BB(1:length(BB)/2)];
ff=-0.5:1/M:0.5-1/M;
subplot(224)
plot(nny4);
xlabel(‘频率‘)ylabel(‘功率谱P(dB)‘)title([‘ Welch法段长M=‘ int2str(M)] );
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2295 2018-11-23 08:09 puguji.m
- 上一篇:contourlet图像融合
- 下一篇:贝叶斯分类器matlab实现
相关资源
- 《数字信号处理》 MATLAB上机实验全部
- 数字信号处理实验指导 MATLAB版本 书
- 数字信号处理matlab版代码
- 数字信号处理实验MATLAB版的
- 数字信号处理 基于MATLAB 的语音处理
- 基于Matlab的IIR高通、带通、低通和带
- %《数字信号处理--原理、实现及应用
- 数字信号处理高西全实验课matlab程序
- 数字信号处理理论算法与实现课后习
- 数字信号处理课程设计
- 《数字信号处理matlab版》代码
- 成都电子科技大学数字信号处理资料
- MATLAB数字信号处理工具箱
- 基于Matlab的数字信号处理仿真系统实
- 数字信号处理——应用MATLAB英文影印
- 数字信号处理——基于计算机的方法
- 序列卷积和运算及其可视化呈现
- 数字信号处理实验刘舒帆版答案
- cic_fpga.rar
- 南京邮电大学 数字信号处理实验报告
- 《现代数字信号处理》何子述 第三章
- MATLAB均衡器
- 数字信号处理-基于计算机的方法课本
- Digital signal processing
- 数字信号处理实验指导书MATLAB版实验
- matlab数字信号处理-matlab数字信号处理
- 基于MATLAB GUI 设计的数字信号处理系统
- 数字信号处理课程设计报告:基于M
- 数字信号处理 基于matlab的声音处理程
- 数字信号处理功率谱估计Matlab源代码
评论
共有 条评论