2FSK調製在瑞利通道下,(7,4)漢明碼

2021-09-13 02:35:55 字數 1205 閱讀 6799

%2fsk調製在瑞利通道下,(7,4)漢明碼

clear all

snr=-10:10;

n=30000; %訊息位元個數

berhm=zeros(1,length(snr));

n=7;

k=4;

symbolrate=2000; %符號速率

nsamp=8; %每個符號的取樣點數

fs=5000;

fs=9600;

ts=1/fs;

fd=960;

delay=[0,0.002,0.005];

power=[0,-1,-3];

h=rayleighchan(ts,fd,delay,power);

msg=randi([0,1],1,n); %輸入訊號

msg1hm=reshape(msg,n/k,k);

msg2hm=encode(msg1hm,n,k,'hamming'); %漢明碼編碼

[mmm,nnn]=size(msg2hm);

msghm=reshape(msg2hm,1,mmm*nnn); %變成行矩陣

x1hm=fskmod(msghm,2,symbolrate,nsamp,fs);

for ii=1:length(snr)

x2hm=filter(h,x1hm);

yhm=x2hm+awgn(x1hm,snr(ii));

y1hm=fskdemod(yhm,2,symbolrate,nsamp,fs);

y2hm=reshape(y1hm,mmm*nnn/n,n);

youthm=decode(y2hm,n,k,'hamming'); %解碼

youtendhm=reshape(youthm,1,n);

[errhm,berhm(ii)]= biterr(youtendhm, msg); %誤位元率

disp(berhm);

endfigure(1)

semilogy(snr,berhm,'-ro') ;

% legend('高斯');

title('漢明碼 2fsk 瑞利通道')

xlabel('訊雜比(db)')

ylabel('誤位元率')

基於stm32的2FSK數據機設計

筆者的專業是通訊工程,通訊領域內數據機的設計大多數用的都是硬體電路,但是鑑於筆者對程式設計情有獨鍾 其實筆者還是懂一點電路設計知識的 所以最終決定用stm32來設計,純程式設計實現。看起來高大上,但實際做起來不難,不過有挺多東西要考慮的,所以還是花了筆者乙個星期的時間。廢話不多說,先來介紹下什麼是調...

android音訊口通訊(二) 2FSK訊號解調

出處 我的設計中,解調端用的是msp430的微控制器,因為ti這種系列的微控制器功耗很低,在休眠狀態下,電流可達到ua級,正常工作下電流也可以保持在幾個ma級左右。將手機右聲道接至msp430微控制器的p2.3腳,在 裡設定並啟用此引腳的第二功能 比較器0 的正向輸入端,並將比較器0的反向輸入端配置...

物理層 調製(2)帶通調製(載波調製)

調製 1 編碼 基帶調製 把基帶訊號的頻率範圍搬移到較高的頻段,並轉換為模擬訊號,經重載波調製後的訊號為帶通訊號 僅在一段頻率範圍內能夠通過通道 而使用載波調製的調製成為帶通調製。目的 要傳輸的訊號載入在載波訊號上進行傳輸,因為載波訊號傳得遠。最基本的調製方法 1.調幅 am 例如 0或1分別對應無...