【通信原理】【实验】实验三: 数字调制解调实验2ASK--2FSK--2PSK思路(GZHU)
文章目錄
- 一. 總體思路:
- 二. 內容
- 2.1 第一個實驗部分:2ASK (二進制幅度調制)
- 2.1.1 2ASK
- 2.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. 接收端的低通濾波器采用平方根升余弦濾波器進行匹配濾波;
請實驗仿真并給出以下信息:、
載波頻率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;end end計算誤碼率
for i = 1:Nif res_match(i) ~= s_nrz(i)c_error = c_error endend2.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;end endfigure('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】:https://download.csdn.net/download/zcw1234515/19547248
【2FSK】:https://download.csdn.net/download/zcw1234515/19547258
【2PSK】:https://download.csdn.net/download/zcw1234515/19547270
github[本來先把代碼放github避免下載花積分,后來知道原來可以把下載積分設置為0]
參考文獻:
[1] 基于MATLAB仿真的模擬乘法器AM波分析
[2]講解傅里葉變換的知乎
總結
以上是生活随笔為你收集整理的【通信原理】【实验】实验三: 数字调制解调实验2ASK--2FSK--2PSK思路(GZHU)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【通信原理】【实验】实验二:数字基带传输
- 下一篇: 【隐私】大数据下的隐私威胁【转载】