嵌牛導讀:幀同步有起止式同步法和插入特殊同步碼組法兩種。,為了能正確分離各路時隙信號,在發(fā)送端必須提供每幀的起始標記,在接收端檢測并獲取這一標志的過程稱為幀同步
嵌牛鼻子:幀同步 zc序列
嵌牛提問:怎么減少信噪比較低時幀同步的地板效應(yīng)?
嵌牛正文:
zc序列的產(chǎn)生
產(chǎn)生zc序列,根據(jù)論文公式得出,K值可以用來評價ZC序列的好壞。1位最好,其次為signal_length-1.
function [cazac_sequence] = CreatCazac(signal_length, K)
if nargin == 1
? ? K = signal_length-1;
end
n = 1:signal_length;
p = 0;
if mod(signal_length, 2)==0
? ? cazac_sequence=exp(1j*2*pi*K/signal_length*(n.*n/2+p*n));
else
? ? cazac_sequence=exp(1j*2*pi*K/signal_length*(n.*(n+1)/2+p*n));
end
end
————————————————
同步算法
這里的同步主要指幀同步,就是利用已知的zc序列和接收信號進行同步,來查找同步頭。
zc = CreatCazac(27, 1);
pre = randn(1, 13);
rx = [pre zc ones(1, 10)]; % 創(chuàng)造接收數(shù)據(jù),分別在頭尾加了一些數(shù)字
res = xcorr(rx, zc);
res(1:length(rx)-1)=[]; % matlabxcorr互相關(guān)函數(shù)會產(chǎn)生一些冗余。這個多余的長度恰好是max(rx, zc) - 1。在這之后的值才是真正的互相關(guān),理解這里很重要
[~,index] = max(abs(res)) %則index的位置就是同步頭開始的位置。
plot(abs(res));
上面只是簡單的舉了個例子。還有一些問題需要解決。