“在代码的海洋里,有无尽的知识等待你去发现。我就是那艘领航的船,带你乘风破浪,驶向代码的彼岸。
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
本研究聚焦于在充满白噪声的环境中,对真实正弦波的精确频率进行估计。白噪声的存在给频率估计带来了极大的干扰和不确定性。由于在许多实际应用中,如通信系统、雷达信号处理、生物医学信号分析等领域,信号往往都处于噪声背景之中,因此研究如何在噪声环境下准确提取出正弦波的频率信息显得尤为重要。这项研究旨在通过深入的理论分析和先进的算法应用,找到有效的方法来克服噪声影响,准确提取出正弦波的频率信息。这对于信号处理、通信工程等领域具有重要意义,有助于提高系统性能和数据准确性。
📚2 运行结果
主函数部分代码:
clc
clear
close all
%-----------------------------%
% Matlab version: 2018a
%% Fig 1
Fs = 1; % Sampling frequency
N = 64; % Number of samples
A = 1; % Half of Amplitude
SimTimes = 5000; % Number of simulation
SNRdB = [-10:2:10,15:5:60]; % SNR
RMSE = zeros(length(SNRdB),6); % RMSE
CRLB = sqrt(3*Fs^2./(pi^2*N*(N^2-1)*10.^(SNRdB/10))).';% CRLB
for ii = 1:length(SNRdB)
ErrF = zeros(SimTimes,6); % Error of frequency estimation
for jj = 1:SimTimes
F = rand*(Fs/2-2*Fs/N)+Fs/N; % Frequency, and Fs/N<f<Fs/N*(N/2-1)
P = rand*2*pi; % Initial Phase
n = (0:N-1).';
s = 2*A*cos(2*pi*F/Fs*n+P); % real sinusoid
Ps = mean(s.^2); % Signal power
Pn = Ps/10^(SNRdB(ii)/10); % Noise Power
w = sqrt(Pn)*randn(N,1);
s = s+w; % AWGN channel
EstF = ProposedInitial(s,Fs); % Initial estimate of proposed algorithm
ErrF(jj,1) = abs(EstF-F);
if ErrF(jj,1)>Fs/2
ErrF(jj,1) = Fs-ErrF(jj,1);
end
EstF = ProposedFine(s,Fs); % Fine estimate of proposed algorithm
ErrF(jj,2) = abs(EstF-F);
if ErrF(jj,2)>Fs/2
ErrF(jj,2) = Fs-ErrF(jj,2);
end
EstF = PSVD(s,Fs);
ErrF(jj,3) = abs(EstF-F);
if ErrF(jj,3)>Fs/2
ErrF(jj,3) = Fs-ErrF(jj,3);
end
EstF = Djukanovic(s,Fs);
ErrF(jj,4) = abs(EstF-F);
if ErrF(jj,4)>Fs/2
ErrF(jj,4) = Fs-ErrF(jj,4);
end
EstF = Ye(s,Fs,2); % Ye algorithm with T=2
ErrF(jj,5) = abs(EstF-F);
if ErrF(jj,5)>Fs/2
ErrF(jj,5) = Fs-ErrF(jj,5);
end
EstF = Ye(s,Fs,4); % Ye algorithm with T=4
ErrF(jj,6) = abs(EstF-F);
if ErrF(jj,6)>Fs/2
ErrF(jj,6) = Fs-ErrF(jj,6);
end
end
RMSE(ii,:) = sqrt(mean(ErrF.^2));
end
RMSEBin = RMSE/Fs*N; % RMSE in DFT bins
figure()
semilogy(SNRdB,CRLB/Fs*N,'--ks',SNRdB,RMSEBin(:,1),'-mo',SNRdB,RMSEBin(:,2),'-r*',...
SNRdB,RMSEBin(:,3),'-gd',SNRdB,RMSEBin(:,4),'-c.',SNRdB,RMSEBin(:,5),'-b^',...
SNRdB,RMSEBin(:,6),'-bv','LineWidth',1.2)
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]宿文玲.一种基于EtherCAT总线技术的电感信号处理模块设计[J].机械工程师,2024(08):13-16.
[2]卢海林,郭馨阳,郝静.基于多滤波降噪法的桥梁应变监测信号处理[J].噪声与振动控制,2024,44(04):180-187.