📄 features_atraction.asv
字号:
%2ASK数字混频正交变换
signal_demode=(1:size(signal_2ask))';
signal_demode_I=cos(2*pi*Fc*signal_demode/Fs);
signal_demode_Q=sin(2*pi*Fc*signal_demode/Fs);
for j=1:size(std_value)
I_unfiltering=signal_2ask_noise(:,j).*signal_demode_I;
Q_unfiltering=signal_2ask_noise(:,j).*signal_demode_Q;
b=fir1(48,0.2);
I=filter(b,1,I_unfiltering);
Q=filter(b,1,Q_unfiltering);
%2ASK调制信号的瞬时特征提取
Amplititude_2ask=2*sqrt(I.^2+Q.^2);
Phase_2ask_un=zeros(size(Amplititude_2ask),1);
Frequency_2ask=zeros(size(Amplititude_2ask)-1,1);
C=zeros(size(Amplititude_2ask),1);
for i=1:size(Amplititude_2ask)
Phase_2ask_un(i)=atan(Q(i)/I(i));
end
C(1)=0;
for i=2:size(Amplititude_2ask)-1
if Phase_2ask_un(i+1)-Phase_2ask_un(i)>pi
C(i)=C(i-1)-2*pi;
elseif Phase_2ask_un(i+1)-Phase_2ask_un(i)<-pi
C(i)=C(i-1)+2*pi;
else C(i)=C(i-1);
end
C(size(Amplititude_2ask,1)) =C(size(Amplititude_2ask,1)-1);
Phase_2ask=Phase_2ask_un+C;
end
for i=2:size(Frequency_2ask)
if Phase_2ask(i+1)-Phase_2ask(i)<=-pi/2
Frequency_2ask(i)=Frequency_2ask(i-1);
elseif Phase_2ask(i+1)-Phase_2ask(i)>=pi/2
Frequency_2ask(i)=Frequency_2ask(i-1);
else
Frequency_2ask(i)= Phase_2ask(i+1)-Phase_2ask(i);
end
end
Amplititude_2ask_matrix(:,j)=Amplititude_2ask;
Phase_2ask_matrix(:,j)=Phase_2ask;
Frequency_2ask_matrix(:,j)=Frequency_2ask;
end
figure(8);
subplot(3,1,1);
plot(Amplititude_2ask_matrix(:,6));
axis([1 1000 0 1.5]);
subplot(3,1,2);
plot(Phase_2ask_matrix(:,6));
axis([0 500 -1.5 1.5]);
subplot(3,1,3);
plot(Frequency_2ask_matrix(:,6));
axis([0 500 -1.5 1.5]);
%4ASK数字混频正交变换和瞬时特征提取
signal_demode=(1:size(signal_4ask))';
signal_demode_I=cos(2*pi*Fc*signal_demode/Fs);
signal_demode_Q=sin(2*pi*Fc*signal_demode/Fs);
for j=1:size(std_value)
I_unfiltering=signal_4ask_noise(:,j).*signal_demode_I;
Q_unfiltering=signal_4ask_noise(:,j).*signal_demode_Q;
b=fir1(48,0.2);
I=filter(b,1,I_unfiltering);
Q=filter(b,1,Q_unfiltering);
Amplititude_4ask=2*sqrt(I.^2+Q.^2);
Phase_4ask_un=zeros(size(Amplititude_4ask),1);
Frequency_4ask=zeros(size(Amplititude_4ask)-1,1);
C=zeros(size(Amplititude_4ask),1);
for i=1:size(Amplititude_4ask)
Phase_4ask_un(i)=atan(Q(i)/I(i));
end
C(1)=0;
for i=2:size(Amplititude_4ask)-1
if Phase_4ask_un(i+1)-Phase_4ask_un(i)>pi
C(i)=C(i-1)-2*pi;
elseif Phase_4ask_un(i+1)-Phase_4ask_un(i)<-pi
C(i)=C(i-1)+2*pi;
else C(i)=C(i-1);
end
C(size(Amplititude_4ask,1)) =C(size(Amplititude_4ask,1)-1);
Phase_4ask=Phase_4ask_un+C;
end
for i=1:size(Frequency_4ask)
Frequency_4ask(i)= Phase_4ask(i+1)-Phase_4ask(i);
end
Amplititude_4ask_matrix(:,j)=Amplititude_4ask;
Phase_4ask_matrix(:,j)=Phase_4ask;
Frequency_4ask_matrix(:,j)=Frequency_4ask;
end
figure(9);
subplot(3,1,1);
plot(Amplititude_4ask_matrix(:,6));
axis([0 1000 0 1.5]);
subplot(3,1,2);
plot(Phase_4ask_matrix(:,6));
axis([0 1000 -1.5 1.5]);
subplot(3,1,3);
plot(Frequency_4ask_matrix(:,6));
axis([0 1000 -1.5 1.5]);
%2FSK数字混频正交变换和瞬时特征提取
signal_demode=(1:size(signal_2fsk))';
signal_demode_I=cos(2*pi*Fc*signal_demode/Fs);
signal_demode_Q=sin(2*pi*Fc*signal_demode/Fs);
for j=1:size(std_value)
I_unfiltering=signal_2fsk_noise(:,j).*signal_demode_I;
Q_unfiltering=signal_2fsk_noise(:,j).*signal_demode_Q;
b=fir1(48,0.2);
I=filter(b,1,I_unfiltering);
Q=filter(b,1,Q_unfiltering);
Amplititude_2fsk=2*sqrt(I.^2+Q.^2);
Phase_2fsk_un=zeros(size(Amplititude_2fsk),1);
Frequency_2fsk=zeros(size(Amplititude_2fsk)-1,1);
C=zeros(size(Amplititude_2fsk),1);
for i=1:size(Amplititude_2ask)
Phase_2fsk_un(i)=atan(Q(i)/I(i));
end
C(1)=0;
for i=2:size(Amplititude_2fsk)-1
if Phase_2fsk_un(i+1)-Phase_2fsk_un(i)>pi
C(i)=C(i-1)-2*pi;
elseif Phase_2fsk_un(i+1)-Phase_2fsk_un(i)<-pi
C(i)=C(i-1)+2*pi;
else C(i)=C(i-1);
end
C(size(Amplititude_2fsk,1)) =C(size(Amplititude_2fsk,1)-1);
Phase_2fsk=Phase_2fsk_un+C;
end
for i=2:size(Frequency_2fsk)
if Phase_2fsk(i+1)-Phase_2fsk(i)<-pi/2
Frequency_2fsk(i)=Frequency_2fsk(i-1);
else
Frequency_2fsk(i)= Phase_2fsk(i+1)-Phase_2fsk(i);
end
end
Amplititude_2fsk_matrix(:,j)=Amplititude_2fsk;
Phase_2fsk_matrix(:,j)=Phase_2fsk;
Frequency_2fsk_matrix(:,j)=Frequency_2fsk;
end
figure(10);
subplot(3,1,1);
plot(Amplititude_2fsk_matrix(:,6));
axis([0 1000 0 1.5]);
subplot(3,1,2);
plot(Phase_2fsk_matrix(:,6));
axis([0 1000 -3 3]);
subplot(3,1,3);
plot(Frequency_2fsk_matrix(:,6));
axis([0 1000 -0.2 0.4]);
%4FSK数字混频正交变换和瞬时特征提取
signal_demode=(1:size(signal_4fsk))';
signal_demode_I=cos(2*pi*Fc*signal_demode/Fs);
signal_demode_Q=sin(2*pi*Fc*signal_demode/Fs);
for j=1:size(std_value)
I_unfiltering=signal_4fsk_noise(:,j).*signal_demode_I;
Q_unfiltering=signal_4fsk_noise(:,j).*signal_demode_Q;
b=fir1(48,0.2);
I=filter(b,1,I_unfiltering);
Q=filter(b,1,Q_unfiltering);
Amplititude_4fsk=2*sqrt(I.^2+Q.^2);
Phase_4fsk_un=zeros(size(Amplititude_4fsk),1);
Frequency_4fsk=zeros(size(Amplititude_4fsk)-1,1);
C=zeros(size(Amplititude_4fsk),1);
for i=1:size(Amplititude_4fsk)
Phase_4fsk_un(i)=atan(Q(i)/I(i));
end
C(1)=0;
for i=2:size(Amplititude_4fsk)-1
if Phase_4fsk_un(i+1)-Phase_4fsk_un(i)>pi
C(i)=C(i-1)-2*pi;
elseif Phase_4fsk_un(i+1)-Phase_4fsk_un(i)<-pi
C(i)=C(i-1)+2*pi;
else C(i)=C(i-1);
end
C(size(Amplititude_4fsk,1)) =C(size(Amplititude_4fsk,1)-1);
Phase_4fsk=Phase_4fsk_un+C;
end
for i=2:size(Frequency_4fsk)
if Phase_4fsk(i+1)-Phase_4fsk(i)<-pi/2
Frequency_4fsk(i)=Frequency_4fsk(i-1);
else
Frequency_4fsk(i)= Phase_4fsk(i+1)-Phase_4fsk(i);
end
end
Amplititude_4fsk_matrix(:,j)=Amplititude_4fsk;
Phase_4fsk_matrix(:,j)=Phase_4fsk;
Frequency_4fsk_matrix(:,j)=Frequency_4fsk;
end
figure(11);
subplot(3,1,1);
plot(Amplititude_4fsk_matrix(:,6));
axis([0 1000 0 1.5]);
subplot(3,1,2);
plot(Phase_4fsk_matrix(:,6));
axis([0 1000 -1.5 1.5]);
subplot(3,1,3);
plot(Frequency_4fsk_matrix(:,6));
axis([0 1000 0 0.6]);
%2PSK数字混频正交变换和瞬时特征提取
signal_demode=(1:size(signal_2psk))';
signal_demode_I=cos(2*pi*Fc*signal_demode/Fs);
signal_demode_Q=sin(2*pi*Fc*signal_demode/Fs);
for j=1:size(std_value)
I_unfiltering=signal_2psk_noise(:,j).*signal_demode_I;
Q_unfiltering=signal_2psk_noise(:,j).*signal_demode_Q;
b=fir1(48,0.2);
I=filter(b,1,I_unfiltering);
Q=filter(b,1,Q_unfiltering);
Amplititude_2psk=2*sqrt(I.^2+Q.^2);
Phase_2psk=zeros(size(Amplititude_2psk),1);
Frequency_2psk=zeros(size(Amplititude_2psk)-1,1);
for i=1:size(Amplititude_2psk)
Phase_2psk(i)=abs(atan(Q(i)/I(i)));
if Q(i)>0
Phase_2psk(i)=Phase_2psk(i);
else
Phase_2psk(i)=-Phase_2psk(i);
end
end
for i=2:size(Frequency_2psk)
if Phase_2psk(i+1)-Phase_2psk(i)<=-pi/2
Frequency_2psk(i)=Frequency_2psk(i-1);
elseif Phase_2psk(i+1)-Phase_2psk(i)>=pi/2
Frequency_2psk(i)=Frequency_2psk(i-1);
else
Frequency_2psk(i)= Phase_2psk(i+1)-Phase_2psk(i);
end
end
Amplititude_2psk_matrix(:,j)=Amplititude_2psk;
Phase_2psk_matrix(:,j)=Phase_2psk;
Frequency_2psk_matrix(:,j)=Frequency_2psk;
end
figure(12);
subplot(3,1,1);
plot(Amplititude_2psk_matrix(:,6));
axis([0 1000 0 1.5]);
subplot(3,1,2);
plot(Phase_2psk_matrix(:,6));
axis([0 1000 -2 2]);
subplot(3,1,3);
plot(Frequency_2psk_matrix(:,6));
axis([0 1000 -1.5 1.5]);
%4PSK数字混频正交变换和瞬时特征提取
signal_demode=(1:size(signal_4psk))';
signal_demode_I=cos(2*pi*Fc*signal_demode/Fs);
signal_demode_Q=sin(2*pi*Fc*signal_demode/Fs);
for j=1:size(std_value)
I_unfiltering=signal_4psk_noise(:,j).*signal_demode_I;
Q_unfiltering=signal_4psk_noise(:,j).*signal_demode_Q;
b=fir1(48,0.2);
I=filter(b,1,I_unfiltering);
Q=filter(b,1,Q_unfiltering);
Amplititude_4psk=2*sqrt(I.^2+Q.^2);
Phase_4psk=zeros(size(Amplititude_4psk),1);
Frequency_4psk=zeros(size(Amplititude_4psk)-1,1);
for i=1:size(Amplititude_4psk)
Phase_4psk(i)=atan(Q(i)/I(i));
if (Q(i)>=0)&(I(i)>=0)
Phase_4psk(i)=Phase_4psk(i);
elseif (Q(i)>=0)&(I(i)<=0)
Phase_4psk(i)=Phase_4psk(i)+pi;
elseif (Q(i)<=0)&(I(i)>=0)
Phase_4psk(i)=Phase_4psk(i);
elseif (Q(i)<=0)&(I(i)<=0)
Phase_4psk(i)=Phase_4psk(i)-pi;
end
end
for i=2:size(Frequency_4psk)
if Phase_4psk(i+1)-Phase_4psk(i)<=-pi/2
Frequency_4psk(i)=Frequency_4psk(i-1);
elseif Phase_4psk(i+1)-Phase_4psk(i)>=pi/2
Frequency_4psk(i)=Frequency_4psk(i-1);
else
Frequency_4psk(i)= Phase_4psk(i+1)-Phase_4psk(i);
end
end
Amplititude_4psk_matrix(:,j)=Amplititude_4psk;
Phase_4psk_matrix(:,j)=Phase_4psk;
Frequency_4psk_matrix(:,j)=Frequency_4psk;
end
figure(13);
subplot(3,1,1);
plot(Amplititude_4psk_matrix(:,6));
axis([0 1000 0 1.5]);
subplot(3,1,2);
plot(Phase_4psk_matrix(:,6));
axis([0 1000 -4 4]);
subplot(3,1,3);
plot(Frequency_4psk_matrix(:,6));
axis([0 1000 -1.5 1.5]);
%16QAM数字混频正交变换和瞬时特征提取
signal_demode=(1:size(signal_qam))';
signal_demode_I=cos(2*pi*Fc*signal_demode/Fs);
signal_demode_Q=sin(2*pi*Fc*signal_demode/Fs);
for j=1:size(std_value)
I_unfiltering=signal_qam_noise(:,j).*signal_demode_I;
Q_unfiltering=signal_qam_noise(:,j).*signal_demode_Q;
b=fir1(48,0.2);
I=filter(b,1,I_unfiltering);
Q=filter(b,1,Q_unfiltering);
Amplititude_qam=2*sqrt(I.^2+Q.^2);
Phase_qam=zeros(size(Amplititude_qam),1);
Frequency_qam=zeros(size(Amplititude_qam)-1,1);
for i=1:size(Amplititude_qam)
Phase_qam(i)=atan(Q(i)/I(i));
if (Q(i)>=0)&(I(i)>=0)
Phase_qam(i)=Phase_qam(i);
elseif (Q(i)>=0)&(I(i)<=0)
Phase_qam(i)=Phase_qam(i)+pi;
elseif (Q(i)<=0)&(I(i)>=0)
Phase_qam(i)=Phase_qam(i);
elseif (Q(i)<=0)&(I(i)<=0)
Phase_qam(i)=Phase_qam(i)-pi;
end
end
for i=2:size(Frequency_qam)
if Phase_qam(i+1)-Phase_qam(i)<=-pi/2
Frequency_qam(i)=Frequency_qam(i-1);
elseif Phase_qam(i+1)-Phase_qam(i)>=pi/2
Frequency_qam(i)=Frequency_qam(i-1);
else
Frequency_qam(i)= Phase_qam(i+1)-Phase_qam(i);
end
end
Amplititude_qam_matrix(:,j)=Amplititude_qam;
Phase_qam_matrix(:,j)=Phase_qam;
Frequency_qam_matrix(:,j)=Frequency_qam;
end
figure(14);
subplot(3,1,1);
plot(Amplititude_qam_matrix(:,6));
axis([0 1000 0 1.5]);
subplot(3,1,2);
plot(Phase_qam_matrix(:,6));
axis([0 1000 -4 4]);
subplot(3,1,3);
plot(Frequency_qam_matrix(:,6));
axis([0 1000 -1.5 1.5]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -