1. (13,9)循環碼的MATLAB語言程序,跪求大神,要能運行的
1、循環碼編碼與解碼Matlab源程序(實驗以(7,4)循環碼進行分析) m = 3;
n = 2^m-1; %定義碼長 k = n-m; %信息位長
msg = randint(k*4,1,2); %隨機提取信號,引起一致地分布的任意整數矩陣 subplot(2,2,1) stem(msg)
title('編碼器輸入信號')
p=cyclpoly(n,k) %循環碼生成多項式,n=7,k=4 code = encode(msg,n,k,'cyclic',p); %編碼函數,對信號進行差錯編碼 subplot(2,2,2) stem(code)
title('編碼器輸出信號')
recode=decode(code,n,k,'cyclic',p) %對信號進行解碼,對接收到的碼字進行解碼,恢復
出原始的信息,解碼參數和方式必須和編碼時採用的嚴格相同
subplot(2,2,3) stem(recode)
title('解碼器輸出信號') t=-1:0.01:1;
x=recode; %將recode賦值給x,並進行長度與fft設定 N=length(x); fx=fft(x); df=100/N; n=0:N/2; f=n*df;
subplot(2,2,4);
plot(f,abs(fx(n+1))*2/N); grid; title('頻譜圖')
2、誤碼率與信噪比之間的關系程序(以(3,2)循環碼進行測試) m = 2;
n = 2^m-1; %定義碼長 k = n-m; %信息位長 Fs=40; %系統采樣頻率 Fd=1; %碼速率 N=Fs/Fd;
M=2; %進制數
for SNRpBit=1:100;%信噪比 SNR=SNRpBit/log2(M);
%製造100個信息組,每組k位 msg = randint(100,k,[0,1]);
code = encode(msg,n,k,'cyclic/binary'); %加入雜訊
%在已調信號中加入高斯白雜訊
noisycode=awgn(code,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB'); %將浮點數轉化為二進制,波形整形過程 for i=1:100 for a=1:k+1
if noisycode(i,a)<0.5 noisycode(i,a) = 0; else
noisycode(i,a) = 1; end
end end %解碼
newmsg = decode(noisycode,n,k,'cyclic'); %計算誤碼率
[number,ratio]=biterr(newmsg,msg); result(SNRpBit)=ratio;
disp(['The bit error rate is',num2str(ratio)]); end
%不同信噪比下循環碼經過加性高斯白雜訊信道的誤碼率 figure(1) stem(result);
title('循環碼在不同信噪比下的誤碼率') legend('誤碼率','*') xlabel('信噪比');
ylabel('在加性高斯白雜訊下的誤碼率');
2. 用MATLAB設計一個循環碼產生電路
你要什麼?
3. 用MATLAB設計一個循環碼產生電路 懸賞分:100 | 解決時間:2010-1-5 21:21 | 提問者:♀皓月♂ 請發到我的
sds d
4. 基於MATLAB的循環碼的設計
CRC校驗?
看看幫助里的crc.generator和crc.detector合用不?前者好像是生成數據的CRC attach的,後者應該是校驗的函數,呵呵,我也沒用過
5. 用MATLAB實現循環碼的編碼和解碼
你把問題描述的再清楚點。
6. 想問下關於循環碼解碼的程序用matlab怎麼編寫啊急求啊
樓主,你的問題本身就非常深奧,估計沒有多少人答得出來啊。像這樣的問題應該問同行才對啊。