?? createnfsk.m
字號:
function [y, t, v, P] = CreateNFSK(NFSK, fc, amp, fs, RB, M)
% 產生FSK信號,其中NFSK為進制數,典型的為2、4、8等,fc為載波頻率矢量[fc1, fc2,..,fcn],amp為載波基準幅度, fs為采樣頻率, RB為碼元速率
% y返回已調信號,t為時間矢量,v為碼元矢量,P為采樣信號的平均功率
% [y, t, v] = Create2ASK(fc, fs, N), 其中M為信息碼元數,隨機產生N個碼元;
% [y, t, v] = Create2ASK(fc, fs, V), 其中V為給定的碼元序列,為行矢量;
if (length(M) == 1)
N = M;
V = randint(1, N, NFSK);
else
V = M;
N = length(V);
end;
v = V;
TotalTime = 1/RB * N; %總時間
ts = 1 / fs; %采樣周期
index = 1;
curTime = 0;
while(1)
symbIndex = floor(curTime * RB) + 1; %碼元序號
if (symbIndex > N)
break;
end
symb = V(symbIndex); %碼元符號
y(index) = amp * sin(2*pi*fc(symb + 1)*curTime); %調制過程,產生已調信號瞬時幅度
t(index) = curTime;
curTime = curTime + ts;
index = index + 1;
if (curTime > TotalTime)
break;
end;
end;
P = mean(abs(y).^2);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -