資源簡(jiǎn)介
由于MATLAB本身自帶的相關(guān)函數(shù)在擴(kuò)頻通信中并不適合,性能欠佳。本程序是我自己編寫(xiě)的求自相關(guān)或互相關(guān)的MATLAB函數(shù)。可直接調(diào)用該函數(shù)。已通過(guò)驗(yàn)證。
代碼片段和文件信息
function?[my_xcorr]=myxcorr(msequence_Imsequence_Q);
%?本函數(shù)是用來(lái)求自相關(guān)函數(shù)或互相關(guān)函數(shù)的
%?輸入:兩個(gè)0、1序列,倆序列長(zhǎng)度可以不一樣
%?輸出是自相關(guān)或互相關(guān)的值
%?將數(shù)據(jù)碼變成雙極性碼,0->-1?1->?1
msequence_I=?(-1).^(msequence_I+1);?????????????????????????????%?將數(shù)據(jù)碼變成雙極性碼,0->-1?1->?1
msequence_Q=?(-1).^(msequence_Q+1);?????????????????????????????%?將數(shù)據(jù)碼變成雙極性碼,0->-1?1->?1
Li=length(msequence_I);
Lq=length(msequence_Q);
msequence_I_new=[zeros(1Lq)msequence_Izeros(1Lq)];??????????%?構(gòu)造新的序列
msequence_Q_new=[msequence_Qzeros(1Li+Lq)];???????????????????%?構(gòu)造新的序列
Lqq=length(msequence_Q_new);
for?t=1:1:Lq+Li;
????msequence_Q_NEW=[zeros(1t)msequence_Q_new(1:Lqq-t)];??????%?非循環(huán)右移,左邊補(bǔ)零
????out=msequence_I_new.*msequence_Q_NEW;???????????????????????%?對(duì)應(yīng)的矩陣點(diǎn)乘
????sumout(t)=sum(out);?????????????????????????????????????????%?求和,計(jì)算對(duì)齊的1元素的個(gè)數(shù)
????my_xcorr(t)=sumout(t)/min(LiLq);???????????????????????????%?歸一化,相關(guān)函數(shù)最大值為1
end
clear?(‘t‘);?????????????????????????%?該變量以后用不到,釋放內(nèi)存
clear?(‘msequence_I_new‘);???????????%?該變量以后用不到,釋放內(nèi)存
clear?(‘msequence_Q_new‘);???????????%?該變量以后用不到,釋放內(nèi)存
clear?(‘msequence_Q_NEW‘);???????????%?該變量以后用不到,釋放內(nèi)存
clear?(‘t‘);?????????????????????????%?該變量以后用不到,釋放內(nèi)存
clear?(‘out‘);???????????????????????%?該變量以后用不到,釋放內(nèi)存
clear?(‘sumout‘);????????????????????%?該變量以后用不到,釋放內(nèi)存
end
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1508??2013-03-30?20:50??myxcorr.m
-----------?---------??----------?-----??----
?????????????????1508????????????????????1
- 上一篇:IMM交互模型
- 下一篇:canny算子matlab源代碼本人親測(cè)可用
評(píng)論
共有 條評(píng)論