繼續講解!該來到直接序列擴頻知識的講解課程了。這個難度對于本科生而言,已經綽綽有余!真心希望老師們能夠量力而行的給學生們布置畢業設計課題!什么是擴頻通信呢?
擴展頻譜通信,簡稱擴頻通信,是一種信息傳輸方式,其信號所占有的頻帶寬度遠大于所傳信息必需的最小帶寬。頻帶的擴展是通過一個獨立的碼序列(一般是偽隨機碼,比如m序列和GOLD序列)來完成,用編碼及調制的方法來實現的,與所傳信息數據無關。在接收端則用同樣的碼進行相關同步接收、解擴及恢復所傳信息數據。擴展頻譜通信與光纖通信、衛星通信一同被稱為進入信息時代的三大高技術通信傳輸方式。
這么重要的技術一定要仿真一下哦。這樣你能直觀的了解此項技術!2022年,此項專題已經整理成多個系列!歡迎大家深入學習!
%%% 擴頻通信調制解調器誤碼性能仿真程序 %%%
%%%% DS_BPSK_modem_sim1.m %%%
%%% date: 2017-03-01 author:算法工匠 %%%%
%%%%% 程序說明
% 完成擴頻通信系統仿真,比較不同信噪比下的誤碼性能。
% 通信體制具體內容如下:
% M序列:255位
% 調制方式:BPSK 編碼方式:無
% 滾降因子:0.5
% 解調方式:相干解調 譯碼方式:無
% 噪聲:加性高斯白噪聲
% 基帶信號仿真
%%% 仿真環境
% 軟件版本:matlab 2015b
%%% sim系列說明之處
%
clear all;close all;format long;
%%********** 程序主體 *********%%
%%%%%% 系統參數 %%%%%
bit_rate = 1024;
symbol_rate = 1024;
fre_sample = 16*symbol_rate;
symbol_sample_rate = 16;
% 一個符號內的采樣倍數
fre_carrier = 4000;
%%%%%% 信源 %%%%%%%%
%%% 隨機信號
% msg_source = randint(1,1000);
msg_source = [ones(1,20) zeros(1,20) randint(1,60)];
% 給出標志性的幀頭,方便調試。
% 通常幀頭會采用擴頻序列,為了方便調試,可以采用全1和全0。
%%%%%% 發射機 %%%%%%
%%%% 生成m序列
%%% m序列初始狀態
stg = 8;
taps= [1 8];
inidata = [1 0 1 1 1 1 0 1]; % 初始相位
m_sequence = funct_mseq_2015(stg, taps, inidata);
% m_sequence取值為0和1。
bi_m_sequence = 2*m_sequence - 1;
%%%%% 擴頻
ds_msg_source = (2*msg_source-1)'*bi_m_sequence;
% 完成每個符號的擴頻
%%% 串并轉換
bipolar_ds_msg_source = reshape(ds_msg_source',1,[]);
%%%%%% 調制器
%%% 濾波器
% rcosflt 滾降成型濾波
rcos_msg_source = rcosflt(bipolar_ds_msg_source,symbol_rate,fre_sample);
% Roll-off factor 為 0.5。
% 頻域觀察
fft_rcos_msg_source = abs(fft(rcos_msg_source));
% figure(1)
% plot(rcos_msg_source,'-*')
% title('時域波形')
% figure(2)
% plot(fft_rcos_msg_source)
% title('頻域波形')
aaa = 1; % 調試斷點
%%% 載波發送
time =[1:length(rcos_msg_source)];
rcos_msg_source_carrier = rcos_msg_source'.*cos(2*pi*fre_carrier.*time/fre_sample);
% 頻域觀察
fft_rcos_msg_source_carrier = abs(fft(rcos_msg_source_carrier));
figure(3)
plot(rcos_msg_source_carrier)
title('時域波形')
figure(4)
plot(fft_rcos_msg_source_carrier)
title('頻域波形')
aaa = 1; % 調試斷點
%%%%%% 信道 %%%%%%%%
% 設置信噪比
snr = -10 ;
% 擴頻下的信噪比需要換算才能得到真正的信噪比。
% 非常重要的概念!!!
%%% 高斯白噪聲信道
rcos_msg_source_carrier_noise = awgn(rcos_msg_source_carrier,snr,'measured');
% rcos_msg_source_carrier_noise = awgn(rcos_msg_source_carrier,snr);
%%% 瑞利信道
% 暫無
%%%%%% 接收機 %%%%%%
%%%%%% 解調器
%%% 載波恢復
% 生成本地載波
rcos_msg_source_noise = rcos_msg_source_carrier_noise.*cos(2*pi*fre_carrier.*time/fre_sample);
% 濾波高頻,保留基帶信號
LPF_fir128 = fir1(128,0.2);
% 生成低通濾波器
rcos_msg_source_LP = filter( LPF_fir128, 1, rcos_msg_source_noise );
% 延時64個采樣點輸出。
figure(5)
plot(rcos_msg_source_LP)
title('時域波形')
figure(6)
plot(abs(fft(rcos_msg_source_LP)))
title('頻域波形')
% 生成匹配濾波器
rolloff_factor = 0.5; % 滾降因子
rcos_fir = rcosdesign(rolloff_factor, 6, symbol_sample_rate);
% 生成匹配濾波器系數
% 濾波
rcos_msg_source_MF = filter( rcos_fir, 1, rcos_msg_source_LP );
% 使用filter函數
figure(7)
plot(rcos_msg_source_MF,'-*')
title('時域波形')
figure(8)
plot(abs(fft(rcos_msg_source_MF)))
title('頻域波形')
%%% 最佳采樣點選擇
% 選取最佳采樣點,一個符號取一個點進行判決
decision_site = 160;
% (96+128+96)/2 = 160 三個濾波器延遲值
rcos_msg_source_MF_option = rcos_msg_source_MF(decision_site: symbol_sample_rate : end);
% 涉及三個濾波器,固含有三個濾波器延遲累加。
%%%%%%%% 解擴頻
% 不涉及捕獲過程
% 捕獲會涉及信號的頻率和碼相位參數的獲取
for i = 1:length(rcos_msg_source_MF_option)/length(bi_m_sequence)
% 乘累加
sum_PN(i) = sum(bi_m_sequence.*rcos_msg_source_MF_option((i-1)*length(bi_m_sequence)+1:i*length(bi_m_sequence)));
end
%%%%% 判決輸出
msg_source_MF_option_sign = sign(sum_PN);
figure(9)
plot(rcos_msg_source_MF_option,'-*')
title('時域波形')
%%%%%% 解碼器
% bchdecode % BCH譯碼
%%%%% 信宿 %%%%%%%%
%%% 誤碼性能比對
% [err_number,bit_err_ratio] = biterr(x,y)
[err_number,bit_err_ratio] = biterr(msg_source(1:length(msg_source_MF_option_sign)), (msg_source_MF_option_sign + 1)/2)
%%%%%%%%% 仿真結果 %%%%%%%
% 給出不同信噪比下的誤碼性能。
再來看一下程序的結論。有總結才能有提高!
%%%%% 結論 %%%%%%
% 完成了擴頻通信系統的仿真。
% 沒有包含編譯碼內容。
% 同步內容沒有涉及。
% 信噪比需要經過擴頻因子的換算。
% 程序中在snr=-10dB時,誤碼為0。
% 2017-3-5
要用到之前課上學過的函數程序funct_mseq_2015。知識可是一環套一環的哦。如果不會,請閱讀前面的課程。
未完,待續!
題外話!
倡議和提倡垃圾分類,這樣能帶來回收的便利。我們大學校園里面已經開始這樣的環保行動了,南京市鼓樓區的小學也采用了垃圾分類箱。環保意識從孩子開始樹立,真棒。日本在這方面做的很棒,雖然我不喜歡小日本,但這樣的環保意識和行動還是值得稱贊的。垃圾分類可以提高垃圾的資源價值和經濟價值,力爭物盡其用。
作為一名大學老師,是不是管的太多了。是的,我管的很多,連學生們上衛生間不遵守規定都要管。不管不行啊,我們都是社會大家庭的一份子。這些大學生出去后要給社會注入正能量才行啊,這就需要老師在大學期間什么都要管一點。你們說,對嗎?
修訂記錄
20181105 完成初稿;
20221122 修訂內容v2;
-
通信網絡
+關注
關注
21文章
2043瀏覽量
52088
原文標題:計算機通信與網絡v2 實驗課程(15)
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論