繼續(xù)講解!上堂課留了兩個(gè)問題給同學(xué)們。不知道同學(xué)們有沒有在課后查找資料!無思考,無進(jìn)步!那滾降成型濾波器到底如何使用呢?什么是EbNo呢?先看看百度怎么講的?數(shù)字信號(hào)在傳輸過程中受到疊加干擾與噪聲,從而出現(xiàn)波形失真。1928年,瑞典科學(xué)家奈奎斯特為解決電報(bào)傳輸問題提出了數(shù)字波形在無噪聲線性信道上傳輸時(shí)的無失真條件,稱為奈奎斯特準(zhǔn)則。其中奈奎斯特第一準(zhǔn)則是抽樣點(diǎn)無失真準(zhǔn)則,是關(guān)于接收機(jī)不產(chǎn)生碼間串?dāng)_的接收脈沖形狀問題。對于基帶傳輸系統(tǒng),要達(dá)到上述目的,系統(tǒng)傳輸函數(shù) H(f) 是單邊帶寬為1/2T的矩形函數(shù)(理想奈奎斯特濾波器),其時(shí)域波形為 h(t)=sinc(t/T),稱為理想奈奎斯特脈沖成形。理想奈奎斯特濾波系統(tǒng)的傳輸函數(shù)形狀為矩形,其脈沖響應(yīng)為無限長,顯然該脈沖成形濾波器在物理上是不可實(shí)現(xiàn)的,只能近似,稱為奈奎斯特濾波器和奈奎斯特脈沖。奈奎斯特濾波器的頻率傳輸函數(shù)可以表示為矩形函數(shù)和任意一個(gè)實(shí)偶對稱頻率函數(shù)的卷積;奈奎斯特脈沖可以表示為 sinc(t/T) 函數(shù)與另一個(gè)時(shí)間函數(shù)的乘積。脈沖成形就是一種濾波。數(shù)字通信系統(tǒng)的信號(hào)都必須在一定的頻帶內(nèi),但是基帶脈沖信號(hào)的頻譜是一個(gè)Sa函數(shù),在頻帶上是無限寬的,那么單個(gè)符號(hào)的脈沖將會(huì)延伸到相鄰符號(hào)碼元內(nèi)產(chǎn)生碼間串?dāng)_,這樣就會(huì)干擾到其他信號(hào),這是不允許的。為了消除干擾,信號(hào)在發(fā)射之前要進(jìn)行脈沖成形濾波,把信號(hào)的頻譜約束在帶內(nèi),這樣就不會(huì)和其他信號(hào)產(chǎn)生沖突。
在MATLAB中,涉及升余弦濾波器的函數(shù)有很多:rcosflt?使用升余弦濾波器對輸入信號(hào)進(jìn)行濾波,rcosine設(shè)計(jì)升余弦濾波器,rcosiir?設(shè)計(jì)升余弦IIR濾波器,firrcos?升余弦濾波器設(shè)計(jì)。它們大部分已經(jīng)逐漸被拋棄(新版本的MATLAB將逐漸的不再使用這些函數(shù),但是會(huì)因?yàn)榧嫒菪缘臍v史原因被保留)。建議使用新函數(shù)來替代!下堂課再講EbNo的相關(guān)內(nèi)容。
先來看看有編碼的BPSK程序是什么樣子?
%%% BPSK調(diào)制解調(diào)器誤碼性能仿真程序 %%%
%%%% code_BPSK_modem_sim1.m %%%
%% date: 2016-01-05 author: 算法工匠 %%
%%%%% 程序說明
% 完成BPSK調(diào)制解調(diào)器的仿真,含有編解碼。
% 比較不同信噪比下的誤碼性能。
% 通信體制具體內(nèi)容如下:
% 調(diào)制方式:BPSK 編碼方式:bch
% 滾降因子:0.5
% 解調(diào)方式:相干解調(diào) 譯碼方式:時(shí)域譯碼
% 噪聲:加性高斯白噪聲中頻信號(hào)仿真
%%% 仿真環(huán)境
% 軟件版本:matlab 2015b
% 有些函數(shù)已經(jīng)不用,但程序依舊正常運(yùn)行。
%%% sim系列說明之處
%
clear all;
close all;
format long;
%%************* 程序主體 *************%%
%%%%%% 系統(tǒng)參數(shù) %%%%%
bit_rate = 1000;
symbol_rate = 1000;
fre_sample = 16000;
symbol_sample_rate = 16; % 一個(gè)符號(hào)內(nèi)的采樣倍數(shù)
fre_carrier = 4000;
%%%%%%%% 信源 %%%%%%%
%%% 幀信息
% msg_source = randint(1,1000);
msg_source = randint(1,960); % 隨機(jī)信號(hào)
% 通常幀頭會(huì)采用擴(kuò)頻序列,為了方便調(diào)試,可以采用全1和全0。
% randint函數(shù)需要用randi函數(shù)來替換。
%%% 幀頭
frame_head = [ones(1,20) zeros(1,20)];
%%%%%%% 發(fā)射 %%%%%%
%%%%%% 編碼器
%%% BCH編碼
bch_m = 4;
bch_n = 2^bch_m-1;
% Codeword length
bch_k = 5;
% Message length
nwords = 10;
% Number of words to encode
%%% 函數(shù)應(yīng)用示例
% rand_msg = randi([0 1], nwords, bch_k);
% msg = gf(rand_msg);
% msg_code = bchenc( msg, bch_n, bch_k);
% Encode the message
%%% 串并轉(zhuǎn)換
msg_source_reshape = reshape(msg_source,5,length(msg_source)/5);
msg_source_gf = gf(msg_source_reshape');
msg_source_code = bchenc(msg_source_gf, bch_n, bch_k);
% Encode the message
% 只對幀內(nèi)容進(jìn)行編碼
%%% 并串轉(zhuǎn)換
msg_source_code_s = reshape( msg_source_code', 1, []);
%%% 伽羅華域轉(zhuǎn)換為十進(jìn)制數(shù)
msg_source_code_dec = ones(1,length(msg_source_code_s));
for i=1:length(msg_source_code_s)
if msg_source_code_s(i)==0
msg_source_code_dec(i) = 0;
else
msg_source_code_dec(i) = 1;
end
end
%%%%%% 組幀
frame_msg_code = [frame_head msg_source_code_dec];
%%%%%%%% 調(diào)制器
%%% 雙極性變換
bipolar_msg_source = 2*frame_msg_code - 1;
%%% 濾波器
% rcosflt 滾降成型濾波函數(shù)
rcos_msg_source = rcosflt(bipolar_msg_source,1000,16000);
% Rolloff factor=0.5。
%建議替換!可以使用rcosine和filter兩個(gè)函數(shù)來替換!
% 時(shí)域頻域觀察
fft_rcos_msg_source = abs(fft(rcos_msg_source));
figure(1)
plot(rcos_msg_source)
title('時(shí)域波形')
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);
% 時(shí)域頻域觀察
fft_rcos_msg_source_carrier = abs(fft(rcos_msg_source_carrier));
figure(3)
plot(rcos_msg_source_carrier)
title('時(shí)域波形')
figure(4)
plot(fft_rcos_msg_source_carrier)
title('頻域波形')
aaa = 1; % 調(diào)試斷點(diǎn)
%%%%%%%% 信道 %%%%%%%%
% 設(shè)置信噪比
snr = 10; % 不是比特信噪比哦?。?!
%%% 高斯白噪聲信道
rcos_msg_source_carrier_noise = awgn(rcos_msg_source_carrier,snr,'measured');
%%% 瑞利信道(暫不考慮)
接收機(jī)部分會(huì)是什么樣子呢?下節(jié)課繼續(xù)講解。真正的干貨??!如何來理解滾降因子的差異呢?BCH編解碼的概念有嗎?再提出一個(gè)問題:什么是蒙特卡洛測試?為什么要仿真這么長的信號(hào)呢?難道是巧合?建議大家去看《什么是誤碼率》系列文章!如果你想在通信專業(yè)領(lǐng)域發(fā)展,“誤碼率”這座山必須爬過去!

知識(shí)進(jìn)階之路!對于通信專業(yè)的學(xué)生,仿真入門很重要!這應(yīng)該是在大學(xué)時(shí)期做的事情。多寫代碼是最好的晉級(jí)方式。
未完,待續(xù)!
20181106記錄:
金庸走了,江湖再見。有種莫名的失落。小學(xué)生的時(shí)候就拜讀了您的作品,被深深吸引。那時(shí)沒敢貪讀,現(xiàn)在也許該重新看看了。
上次有同感是在錢學(xué)森院士走的時(shí)候。這次查老走了,也是此種感覺!大師就是大師,人走了,影響力還在。時(shí)光一去不復(fù)返,作品會(huì)不斷的影響一代又一代。
附上另一位浙江大師級(jí)人物圓寂時(shí)的照片。弘一法師(李叔同)為律宗大師。每個(gè)人離開世間的方式都不一樣,希望所有人都能沒有痛苦安詳離開。此刻又想到了我的董老師,愿痛苦遠(yuǎn)離她。
修訂記錄
20181107 完成初稿;
20221130 修訂內(nèi)容v2;
原文標(biāo)題:計(jì)算機(jī)通信與網(wǎng)絡(luò)v2 實(shí)驗(yàn)課程(17)
文章出處:【微信公眾號(hào):通信工程師專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
通信網(wǎng)絡(luò)
+關(guān)注
關(guān)注
22文章
2077瀏覽量
53005
原文標(biāo)題:計(jì)算機(jī)通信與網(wǎng)絡(luò)v2 實(shí)驗(yàn)課程(17)
文章出處:【微信號(hào):gh_30373fc74387,微信公眾號(hào):通信工程師專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
計(jì)算機(jī)網(wǎng)絡(luò)入門指南

微軟OmniParser V2:大模型轉(zhuǎn)化為計(jì)算機(jī)智能體
微軟OmniParser V2發(fā)布:大模型轉(zhuǎn)化為計(jì)算機(jī)智能體
BU-67121W實(shí)驗(yàn)室航空電子接口計(jì)算機(jī)North Hills
云端超級(jí)計(jì)算機(jī)使用教程
刀片計(jì)算機(jī)設(shè)計(jì)方案:192-6U VPX i7 刀片計(jì)算機(jī)

工業(yè)中使用哪種計(jì)算機(jī)?

量子計(jì)算機(jī)與普通計(jì)算機(jī)工作原理的區(qū)別

評論