900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 【通信原理】【实验】实验三: 数字调制解调实验2ASK--2FSK--2PSK思路(GZHU)

【通信原理】【实验】实验三: 数字调制解调实验2ASK--2FSK--2PSK思路(GZHU)

时间:2022-01-21 02:36:59

相关推荐

【通信原理】【实验】实验三: 数字调制解调实验2ASK--2FSK--2PSK思路(GZHU)

文章目录

一. 总体思路:二. 内容2.1 第一个实验部分:2ASK (二进制幅度调制)2.1.1 2ASK2.1.2 信道2.1.3 符号解释2.1.4 问题思考3.1 第二个实验部分:2FSK (二进制频率调制)3.1.1思路:4.1 第三个实验部分:2PSK (二进制相位调制)5.1 第四部分 2DSK

一. 总体思路:

针对2ASK调制使用相干解调法:对整个过程进行分析

相比实验二:数字基带传输实验(GZHU) 这里只是增加了调制和解调两个部分,同时对于2ASK 这里选择的码型是单极性不归零码型;剩下的部分跟实验二是一样的;调制方法:包络法和模拟相乘法进行调制和相干解调;

二. 内容

采用Matlab对数字调制解调系统进行搭建并仿真,基本参数设置如下:

 1. 信源为长度N=1000的随机“0”、“1”序列,发送端符号速率RB=1000Baud;

 2. 基带数字信号根据具体调制方式采用合适的基带编码;

 3. 发送端的发送滤波器采用平方根升余弦滤波器,采样频率fs=16000Hz,滚降系数α=0.25,延迟delay=5;

 4. 信道为awgn信道,信噪比snr=-5dB、5dB;

 5. 接收端的低通滤波器采用平方根升余弦滤波器进行匹配滤波;

请实验仿真并给出以下信息:、

2ASK

载波频率fc=4000Hz

(1) 发送端采用平方根升余弦脉冲成型后的时域和频域波形;

(2) 发送端进行2ASK调制后的时域和频域波形;%

(3) 接收端进行2ASK相干解调后的时域和频域波形;

(4) 接收端进行匹配滤波的时域和频域波形;

(5) 发送端输入信号和接收判决器输出的信号波形对比图;

(6) 误码率;

(7) 分析接收端抽样判决阈值的选取对误码率的影响。

简单实验使用单极性不归零码型;

2.1 第一个实验部分:2ASK (二进制幅度调制)

代码:跟实验二不同的是信号在输入信道前进行调制,输出信道后进行解调,剩下的都是跟实验二一样!

2.1.1 2ASK

fc = 4000; % 载波频率% f_up = 2000 % 上分支载波频率% f_down = 4000% 下分支载波频率x_len = length(x_shaped);% 发送信号长度ln = 0:x_len - 1;t = ln/fs;% 时间t 2ASK调制cari_x = cos(2*pi*fc*t); % 载波m_x_c = x_shaped .* cari_x; % 模拟相乘法进行调制

2.1.2 信道

m_x_c_n = awgn(m_x_c, snr, 'measured', 'db');% 添加高斯白噪声1相干解调x_c_n = m_x_c_n .* cari_x;% 与同频率相乘 .* 1脉冲成型res = conv(x_c_n, h_sqrt); % 接收端脉冲成型,滤波器还是使用平方根升余弦1

接收端同步抽样

% 抽样同步SynPosi = delay * oversamp * 2 + 1; % 两个时延*过采样率SymPosi = SynPosi + (0:oversamp:(N-1) * oversamp); % 采样点res_signl = res(SymPosi); % 接收端采样信号判决for i = 1:Nif res_signl(i) > 0.5res_match(i) = 1;elseif res_signl(i) <= 0.5res_match(i) = 0;endend

计算误码率

for i = 1:Nif res_match(i) ~= s_nrz(i)c_error = c_error endend

2.1.3 符号解释

fc : 载波频率

cari_x : 载波

m_x_c : 调制后信号

m_x_c_n : 调制后信号在信道上添加高斯白噪声

x_c_n : 接收端解调后信号

res : 经过卷积后的接收端信号,此时已经是低频信号

res_signl : 经过抽样判决后的信号

res_match: 接收通过判决匹配信号

c_error : 错误码元个数

elv : 误码率

2.1.4 问题思考

基带信号有码间串扰,那么调制信道是否有码间串扰?

有,只要是带限信道就会产生码间串扰

怎么避免码间串扰呢?

组成 一起就能避免码间串扰!

码型的选择?

单极性不归零码

为什么不选择双极性?

因为如果选择双极性码型的时候,表示0或者1的正弦波的幅度的绝对值是相等;而单极性表示0或者1的时候表示1是正弦波,表示0是0;

载波的时候为什么使用 .*(点乘),而不使用(乘);

这是因为载波的是将基带信号搬移到载波频谱上,所以是将每个基带信号与载波对应元素进行相乘,而乘法是矩阵乘法,也就是mxn维度*nxm维度点乘是nxm维度*nxm维度

6. 接受端解调

解调方法:相干解调和包络解调(以下是相干解调)

就是将经过载波的信号通过相乘器(与载波信号(同频同相)进行相乘),进行简单的频谱搬移,之后通过低通滤波器将高频成分过滤,得到的就是基带信号的低频成分;

抽样判决的阈值的选择

选择0.5,因为使用的是单极性码元

3.1 第二个实验部分:2FSK (二进制频率调制)

3.1.1思路:
2FSK = 2ASK + 2ASK

4.1 第三个实验部分:2PSK (二进制相位调制)

在2ASP的基础上进修改

将2ASK的码型由原来的单极性不归零码改为双极性不归零码

修改接受端的判别阈值有原来的0.5修改为0

不发生倒pi现象:

这是因为使用了双极性不归零码的时候-1 会将同频同相的载波在-1 的位置与1 进行倒置,得到的是相位的变化来表示原来的-1和1;

不发生倒pi现象:

将接收端载波在相位上偏移pi个单位,实现倒pi 效果

carri_x_1 = cos(2 * pi * fc * t + pi); %接收端在倒pi现象

对接收端载波进行一个pi相位的偏移部分代码:

ln = 0:length(x_shaped) - 1;t = ln / fs;carri_x_1 = cos(2*pi*fc*t + pi); % 接受端的载波比发送端的载波在时域上多个pi单位 发送端载波 cari_x = cos(2*pi*fc*t);x_c_n_1 = m_x_c_n .* carri_x_1; %乘以与发送端同频不同相的载波 figure('name', '倒pi接收端');subplot(2,1,1),plot(x_c_n_1); axis([0 800 -1 1]); %时域波形title('----时域');f_x_c_n_1 = fft(x_c_n_1, N); %傅里叶变换f_x_c_n_1_abs = abs(f_x_c_n_1); %取绝对值subplot(2,1,2),plot(f,f_x_c_n_1_abs); %频域波形title('----频域');%时域上卷积滤波res1 = conv(x_c_n_1, h_sqrt); %频域乘积,时域卷积figure('name', '2PSK相干解调');subplot(2,1,1),plot(res1);axis([0 800 -1 1]); %接收端时域波形title('----倒π时域');f_res1 = fft(res1, N); %傅里叶变换f_res1_abs = abs(f_res1); %取绝对值subplot(2,1,2),plot(f,f_res1_abs); title('----倒π频域');grid on;%接收端同步res_signal1 = res1(SymPosi); %倒π现象%接收端采样res_match1 = zeros(length(res_signal1)); %初始化一个长度为 N 的全零数组,存放接收端抽样判决得到的码元for i = 1:Nif res_signal1(i) > 0res_match1(i) = 1;elseif res_signal1(i) <= 0res_match1(i) = -1;endendfigure('name', '----2PSK匹配波形');subplot(2,1,1),stem(D_x);axis([0 100 -1 1]);title('----原始波形');subplot(2,1,2),stem(res_match1);axis([0 100 -1 1]);title('----2PSK抽样判决波形');RecBit2 = zeros(N);%误码率error = 0;%求误码率方法1% for j = 1:N%if RecBit2(j) ~= D_x(j)% error = error + 1;%end% end% elv1 = error / N;%sprintf('误码率:%0.5f% ',elv1);% 方法2:[error, radio] = symerr(RecBit2,D_x)sprintf('错误码元数量:%d ',error);sprintf('误码率:%0.5f%',radio);

5.1 第四部分 2DSK

实验完整代码:后续…

【2ASK】:/download/zcw1234515/19547248

【2FSK】:/download/zcw1234515/19547258

【2PSK】:/download/zcw1234515/19547270

github[本来先把代码放github避免下载花积分,后来知道原来可以把下载积分设置为0]

参考文献:

[1] 基于MATLAB仿真的模拟乘法器AM波分析

[2]讲解傅里叶变换的知乎

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。