标准实验报告4Word文档下载推荐.docx
《标准实验报告4Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《标准实验报告4Word文档下载推荐.docx(28页珍藏版)》请在冰豆网上搜索。
10),分别画出BPSK、QPSK、2ASK、2FSK用两种方法获得谱峰个数特征随每个信噪比的变化曲线,然后设定区分门限。
比较这两种方法的优缺点。
(3)选择其中一种方法提取谱峰特征,设计识别决策树,并编写程序实现。
画出BPSK、QPSK、2ASK、2FSK信号的正确识别率随信噪比(0:
10)的变化曲线。
说明在多高信噪比下能保证每种信号的正确识别率均在90%以上。
七、实验器材(设备、元器件):
计算机、Matlab计算机仿真软件
八、实验步骤:
1、在编写的信号源基础上,根据实验内容提取信号特征并进行调制识别。
(a)BPSK、QPSK、2ASK、2FSK频谱特征提取程序
(b)BPSK、QPSK、2ASK、2FSK数字通信信号调制识别程序
九、实验数据及结果分析
(1)ASK信号的频谱、二次方谱、四次方谱
BPSK信号的频谱、二次方谱、四次方谱
QPSK信号的频谱、二次方谱、四次方谱
FSK信号的频谱、二次方谱、四次方谱
程序如下:
1.ASK
fc=300;
%载波频率
fs=2000;
%采样频率
fb=200;
%Tb比特周期符号速度fd=1/2*fb
fd=200;
T=2;
a=randi([0,1],1,T*fs);
%产生二进制码元
%%根升余弦成型滤波器
NT=60;
r=0.3;
rate=fs/fb;
%过采样率=fs/码速率
delay=NT/(2*rate);
t=0:
1/fs:
T-1/fs;
x=exp(j*2*pi*fc*t).*a;
ask=rcosflt(x,fd,fs,'
sqrt'
r,delay);
%波形成型
figure
(1)
subplot(411)
plot(real(ask));
axis([02000-11]);
gridon;
title('
ASK时域波形'
);
subplot(412)
plot(fftshift(abs(fft(ask))));
ASK的频域波形'
subplot(413)
plot(fftshift(abs(fft(ask.^2))));
ASK的二次方谱'
subplot(414)
plot(fftshift(abs(fft(ask.^4))));
ASK的四次方谱'
2.BPSK
fc=200;
%载波频率
%采样频率
%Tb比特周期
%符号速度
%时间长2S
M=2;
%二元
%%产生产生0,1序列或符号序列
m=randi([0,1],1,fs);
%%相位映射为复基带信号
a=pskmod(m,M);
%%基带消息
length(a)-1;
x=cos(2*pi*fc*t+angle(a));
%生成BPSK
xBPSK=rcosflt(x,fd,fs,'
%%画图
plot(xBPSK);
BPSK时域波形图'
plot(fftshift(abs(fft(xBPSK))));
BPSK频域波形图'
plot(fftshift(abs(fft(xBPSK.^2))));
BPSK信号二次方谱'
plot(fftshift(abs(fft(xBPSK.^4))));
BPSK信号四次方谱'
3.QPSK
clearall;
closeall;
clc;
fc=200;
fb=100;
M=4;
%四元
N=T*fs;
r=fs/fd;
filtorder=60;
%滤波器阶数60
a=0.3;
%滚降因子0.3
delay=filtorder/(r*2);
h=rcosfir(a,delay,r,1,'
h=sqrt(r)*h/norm(h);
s=randsrc(N,1,[0:
M-1]);
p=pskmod(s,M);
x_base=zeros(r,N);
x_base(1,:
)=p.'
;
x_base=x_base(:
ss=conv(h.'
x_base);
X_QPSK=x_base.*exp(j*(2*pi*fc/fs*[0:
length(x_base)-1].'
+rand*2*pi));
%
plot(real(X_QPSK));
axis([0500-11]);
QPSK时域波形图'
plot(fftshift(abs(fft(X_QPSK))));
QPSK频域波形图'
plot(fftshift(abs(fft(X_QPSK.^2))));
QPSK二次方谱'
plot(fftshift(abs(fft(X_QPSK.^4))));
QPSK四次方谱'
4.FSK
%因为调频指数为0.6中心频率为400Hz,可以计算出f1f2;
fc=(f1+f2)/2h=(f2-f1)/fb
fc=400;
fs=1200;
%Tb比特周期
f2=460;
f1=340;
%%生成anbn随机序列
N=length(a);
b=zeros(1,N);
fori=1:
N
b(i)=1-a(i);
end
c=a.*exp(j*2*pi*f1*t)+b.*exp(j*2*pi*f2*t);
fskk=rcosflt(c,fd,fs,'
plot(real(fskk));
FSK时域波形'
plot(fftshift(abs(fft(fskk))));
FSK的频域波形'
plot(fftshift(abs(fft(fskk.^2))));
FSK二次方谱'
plot(fftshift(abs(fft(fskk.^4))));
FSK四次方谱'
(2)谱峰个数的提取
方法
(1)以频谱或二次方谱或四次方谱中的最大值为参考值,设置一个门限,搜索大于该门限以上的谱峰个数
方法
(2)以频谱或二次方谱或四次方谱P(f)中的最大值为参考值,记录最大值的位置为pos,选取最大值左右两侧第N个点的谱的幅度值,计算比值
设置门限,搜索R大于门限以上的谱峰个数;
如果有多个谱峰同时存在,则把幅度最高的谱峰去掉后再依次搜索幅度次高的谱峰。
a)2ASK信号频谱的谱峰个数提取
方法一:
ASK的频谱图
分析可得,该频谱图只有一根离散谱线,在方法一中,可以设置门限r=5000
提取程序如下:
%%提取谱峰
%方法一
a=zeros(1,length(abs(fft(ask))));
a=abs(fft(ask));
num=0;
length(abs(fft(ask)))
ifa(i)>
5000
num=num+1;
fprintf('
2ASK信号频谱的谱峰数目为num=%d\n'
num);
end
加噪后识别的谱峰数随信噪比的变化:
程序:
%加噪处理后识别谱峰数随信噪比的变化曲线
num=zeros(1,20);
a=zeros(1,length(abs(fft(ask))))
j=1;
forSNR=-10:
9
askk=awgn(ask,SNR,'
measured'
a=abs(fft(askk));
n=0;
fori=1:
length(abs(fft(askk)))
n=n+1;
信噪比为%ddB时2ASK信号频谱的谱峰数目为num=%d\n'
SNR,n);
num(j)=n;
j=j+1;
SNR=SNR+1;
SNR=-10:
9;
plot(SNR,num);
axis([-109010]);
xlabel('
信噪比/dB'
ylabel('
谱峰数目/个'
谱峰数随信噪比变化曲线'
方法二:
老师,第二种算法学生实在没有看懂,自认为那个算法有很大歧义,因此只做了一种算法提取,忘老师见谅。
b)2FSK信号频谱的谱峰个数提取
FSK加噪频谱图:
谱峰提取程序:
根据频谱图可以设置门限r=2000;
%%谱峰提取程序
a=zeros(1,length(abs(fft(fsk))));
a=abs(fft(fsk));
length(abs(fft(fsk)))
2000
fprintf('
2FSK信号频谱的谱峰数目为num=%d\n'
谱峰数随信噪比变化曲线:
clearall;
%因为调频指数为0.6中心频率为400Hz,可以计算出f1f2;
fsk=rcosflt(c,fd,fs,'
a=zeros(1,length(abs(fft(fsk))))
fskk=awgn(fsk,SNR,'
a=abs(fft(fskk));
length(abs(fft(fskk)))
信噪比为%ddB时2FSK信号频谱的谱峰数目为num=%d\n'
c)BPSK信号频谱的谱峰个数提取
BPSK加噪频谱图(信噪比为-5dB):
BPSK二次方谱谱峰提取程序:
根据二次方频谱图可以设置门限r=5000
%%二次方谱谱峰数目提取
a=zeros(1,length(abs(fft(BPSK.^2))));
a=abs(fft(BPSK.^2));
length(abs(fft(BPSK.^2)))
BPSK信号二次方谱的谱峰数目为num=%d\n'
a=zeros(1,length(abs(fft(BPSK.^2))))
BPSKK=awgn(BPSK,SNR,'
a=abs(fft(BPSKK.^2));
length(abs(fft(BPSKK.^2)))
信噪比为%ddB时BPSK信号频谱的谱峰数目为num=%d\n'
d)QPSK信号频谱的谱峰个数提取
QPSK加噪频谱图:
QPSK四次方谱谱峰提取程序:
根据频谱图设置门限r=2000
%%四次方谱的提取
a=zeros(1,length(abs(fft(qpsk))));
a=abs(fft(qpsk.^4));
length(abs(fft(qpsk.^4)))
QPSK信号频谱的谱峰数目为num=%d\n'
plot(fftshift(abs(fft(qpsk.^4))));
(3)BPSK、QPSK、2ASK、2FSK信号的正确识别率随信噪比的变化曲线
十、实验结论
1.BPSK信号的二次方谱在二倍载频出现冲击,四次方谱在零频、二倍载频、四倍载频出现冲击,QPSK信号在两倍载频sinc包络,在四倍载频出现离散谱。
2.可以通过二次方谱、四次方谱的谱线数目识别BPSK、QPSK信号。
十一、总结及心得体会
使我们通过实际上机实验,加深理解不同数字通信信号的特点。
十二、对本实验过程及方法、手段的改进建议:
报告评分:
指导教师签字: