📄 am_ofdm_classification.m
字号:
%function [symbol_time,use_time,guard_time]=reg_time_bak(source);
%clear
%load ofdm.mat;
%time=0.01;
%%for t=1:100
x_time=0.01;
snr=31
s=snr-1;
%-------------ofdm-----------------求ofdm信号相关峰的方差
sim('my_OFDM');
xx=reshape(ofdm,1,91429);%数据整形
data = xx(40000:60000);
x =awgn(data,s,'measured');%加高斯噪声
[m,n]=size(x);
len = 4000;
%----------找符号有效期长度
for k=1:len
%-----------计算不同点的相关和与平均能量
temp=0;
temp1=0;
for i=1:len
temp=temp+x(i)*conj(x(i+k));
temp1=temp1+x(i)*conj(x(i))+x(i+k)*conj(x(i+k));
end
r(k)=temp;
en(k)=temp1/2;
%%%%计算相关峰值
peak(k)=abs(r(k))/en(k);
k=k;
end
%figure
% plot(peak(10:len));
% title('use_time reg')
site=find(peak(:)==max(peak(10:length(peak))));
use_time=site;
%use_time即为符号有效长度的采样点数,与采样周期相乘即得到有效期长度
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%根据有效长度找一个符号的起始点根据多个起始点的平均距离即可得到符号长度
%%%先求出相关峰值
for k=1:n-use_time-500-1
temp=0;temp1=0;
for i=1:500
temp=temp+x(k+i)*conj(x(k+i+use_time));
temp1=temp1+x(k+i)*conj(x(k+i))+x(k+i+use_time)*conj(x(k+i+use_time));
end
r1(k)=temp;
en1(k)=temp1/2;
beg(k)=abs(r1(k))/en1(k);
end
var_ofdm=var(beg);%ofdm信号的相关峰方差
%%end
%%end
% 绘制ofdm信号的相关峰
subplot(2,2,1);
plot(beg);
%-------------am信号相关峰的方差
sim('am');%r=randint(1,1000);xx=reshape(ofdm,1,91429);
data = am(40000:60000);
x =awgn(data,s,'measured');
[m,n]=size(x);
len = 4000;
%----------找符号有效期长度
for k=1:len
%-----------计算不同点的相关和与平均能量
temp=0;
temp1=0;
for i=1:len
temp=temp+x(i)*conj(x(i+k));
temp1=temp1+x(i)*conj(x(i))+x(i+k)*conj(x(i+k));
end
r(k)=temp;
en(k)=temp1/2;
%%%%计算相关峰值
peak(k)=abs(r(k))/en(k);
k=k;
end
%figure
% plot(peak(10:len));
% title('use_time reg')
site=find(peak(:)==max(peak(10:length(peak))));
use_time=site;
%use_time即为符号有效长度的采样点数,与采样周期相乘即得到有效期长度
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%根据有效长度找一个符号的起始点根据多个起始点的平均距离即可得到符号长度
%%%先求出相关峰值
for k=1:m-use_time-500-1
temp=0;temp1=0;
for i=1:500
temp=temp+x(k+i)*conj(x(k+i+use_time));
temp1=temp1+x(k+i)*conj(x(k+i))+x(k+i+use_time)*conj(x(k+i+use_time));
end
r1(k)=temp;
en1(k)=temp1/2;
beg(k)=abs(r1(k))/en1(k);
end
var_am=var(beg);
%%end
%%end
% 绘制am信号的相关峰
subplot(2,2,2);
plot(beg);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -