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