图4
实验结果分析:
由图4可以得到高斯信道下的调制信号,高斯噪声,调制输出功率谱密度曲线和QPSK信号的星座图。
在高斯噪声的影响下,调制信号的波形发生了明显的变化,其功率谱密度函数相对于图1中的调制信号的功率谱密度只发生了微小的变化,原因在于高斯噪声是一个均值为0的白噪声,在各个频率上其功率是均匀的,因此此结果是真确的。星座图反映可接收信号早高斯噪声的影响下发生了误码,但是大部分还是保持了原来的特性。
3.3、先通过瑞利衰落信道再通过高斯信道的仿真。实验结果如图5所示:
图5 实验结果分析:
由图5可以得到瑞利衰落信道前后的星座图,调制信号的曲线图及其功率谱密度。最后显示的是高斯信道和瑞利衰落信道的误码率对比。由图可知瑞利衰落信道下的误码率比高斯信道下的误码率高。 至此,仿真实验就全部完成。
Simulink 仿真数据:
1、调制框图,如图6所示
2、解调模块如图7所示
图6
图7 3、调制信号及其功率谱密度如图8所示
图8
4、调制信号的星座图如图9所示:
图9
5、基带信号与调制信号之间的关系如图10所示:
图10
附录2: %主文件
%题目: 理想信道 瑞利衰落信道 高斯信道 下的QPSK仿真 clear;
%%%%%%%%%%%%%%%%%%%%% %%% 初始化参数
%%%%%%%%%%%%%%%%%%%%%
T=1; % 基带信号宽度,也就是频率 fc=10/T; % 载波频率
ml=2; % 调制信号类型的一个标志位(选取2的原因见23行) nb=100; % 传输的比特数 delta_T=T/200; % 采样间隔 fs=1/delta_T; % 采样频率 SNR=0; % 信噪比
t=0:delta_T:nb*T-delta_T; % 限定t的取值范围 N=length(t); % 采样数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %调制部分
% 基带信号的产生
data=randn(1,nb)>0.5; % 调用一个随机函数(0 or 1),输出到一个1*100的矩阵 datanrz=data.*2-1; % 变成极性码
data1=zeros(1,nb/delta_T); % 创建一个1*nb/delta_T的零矩阵 for q=1:nb
data1((q-1)/delta_T+1:q/delta_T)=datanrz(q); % 将极性码变成对应的波形信号 end
% 将基带信号变换成对应波形信号
data0=zeros(1,nb/delta_T); % 创建一个1*nb/delta_T的零矩阵
for q=1:nb
data0((q-1)/delta_T+1:q/delta_T)=data(q); % 将极性码变成对应的波形信号 end
% 发射的信号
data2=abs(fft(data1));
% 串并转换,将奇偶位数据分开
idata=datanrz(1:ml:(nb-1)); % 将奇偶位分开,因此间隔m1为2 qdata=datanrz(2:ml:nb); % QPSK信号的调制
ich=zeros(1,nb/delta_T/2); % 创建一个1*nb/delta_T/2的零矩阵,以便后面存放奇偶位数据
for i=1:nb/2
ich((i-1)/delta_T+1:i/delta_T)=idata(i); end
for ii=1:N/2
a(ii)=sqrt(2/T)*cos(2*pi*fc*t(ii)); end
idata1=ich.*a; % 奇数位数据与余弦函数相乘,得到一路的调制信号 qch=zeros(1,nb/2/delta_T); for j1=1:nb/2
qch((j1-1)/delta_T+1:j1/delta_T)=qdata(j1); end
for jj=1:N/2
b(jj)=sqrt(2/T)*sin(2*pi*fc*t(jj)); end
qdata1=qch.*b; % 偶数位数据与余弦函数相乘,得到另一路的调制信号
s=idata1+qdata1; % 将奇偶位数据合并,s即为QPSK调制信号 ss=abs(fft(s)); % 快速傅里叶变换得到频谱
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%% 瑞利衰落信道和高斯信道 %%%%%%%%%%%%%%%%%%%%%%% 瑞利衰落信道 ray_ich=raylrnd(0.8,1,nb/2/delta_T); ray_qch=raylrnd(0.8,1,nb/2/delta_T); Ray_idata=idata1.*ray_ich; Ray_qdata=qdata1.*ray_qch; Ray_s=Ray_idata+Ray_qdata;
%%%%%%%%%%%%%%%%%%%%%%%%%% % 高斯信道
s1=awgn(s,SNR); % 通过高斯信道之后的信号
s11=abs(fft(s1)); % 快速傅里叶变换得到频谱 s111=s1-s; % 高斯噪声曲线 %%%%%%%%%%%%%%%%%%%%%%%%%%
Awgn_s=awgn(Ray_s,SNR); % 通过高斯信道再通过瑞利衰落信道