写一个GMSK的能量检测的matlab代码
时间: 2024-05-24 10:12:02 浏览: 103
GMSK.zip_GMSK matlab_gmsk_in
以下是一个简单的GMSK能量检测的matlab代码,仅供参考:
%设置参数
fdev = 10000; %频偏
Tb = 0.001; %码元时长
fs = 100000; %采样率
fc = 1000000; %载波频率
Rb = 1/Tb; %码率
Eb = 1; %符号能量
N = 1000; %码元数
%生成GMSK信号
bits = randi([0,1],1,N);
gmsk = gmsk_mod(bits,fdev,Tb,fs,fc);
%加噪声
SNR = 10; %信噪比
gmsk_noisy = awgn(gmsk,SNR);
%能量检测
threshold = 0.5; %阈值
energy = sum(abs(gmsk_noisy).^2)/length(gmsk_noisy);
if energy > threshold
disp('有信号');
else
disp('无信号');
end
%绘制信号图形
subplot(2,1,1);
plot(gmsk);
title('原始GMSK信号');
subplot(2,1,2);
plot(gmsk_noisy);
title(['加噪声信号,SNR=',num2str(SNR),'dB']);
阅读全文