Заодно в алгоритмическом плане хочу спросить, правильно ли я добавляю АБГШ в матлаб? Посмотрите, там SNR_dB... Я думаю, что это и есть значение сигнал-шум. То есть отношение энергии сигнала к спектральной мощности шума. Я прав?
Код
L = 200;
tm = [0 randint(1,L-1,[0 15])];
raynums = raylrnd(0.4,1,L-1);
hmdbm = [0 20*log10(raynums)]; hm = sqrt(1*10.^(hmdbm/10));
fim = [0 2*pi*rand(1,L-1)];
k = 0:20; hsum = 0;
for i = 1:length(tm)
del = double(kroneckerDelta(sym(k-tm(i))));
h = hm(i)*exp(1*j*fim(i))*del;
hsum = hsum+h;
end
OFDM_noisy = conv(hsum,OFDM_GI);
axes(handles.axes15); stem(abs(hsum)); xlabel('n, samples'); ylabel('|hsum(n)|, units'); grid minor;
%Add AWGN to multibeam channel
EBNO_dB = str2num(get(handles.edit9,'String')); SNR_dB = EBNO_dB + 10*log10(Nbps);
set(handles.text16, 'String', ['Pseudo SNR = ' num2str(SNR_dB)]);
OFDM_noisy = awgn(real(OFDM_noisy), SNR_dB, 'measured')+j.*awgn(imag(OFDM_noisy), SNR_dB, 'measured');
tm = [0 randint(1,L-1,[0 15])];
raynums = raylrnd(0.4,1,L-1);
hmdbm = [0 20*log10(raynums)]; hm = sqrt(1*10.^(hmdbm/10));
fim = [0 2*pi*rand(1,L-1)];
k = 0:20; hsum = 0;
for i = 1:length(tm)
del = double(kroneckerDelta(sym(k-tm(i))));
h = hm(i)*exp(1*j*fim(i))*del;
hsum = hsum+h;
end
OFDM_noisy = conv(hsum,OFDM_GI);
axes(handles.axes15); stem(abs(hsum)); xlabel('n, samples'); ylabel('|hsum(n)|, units'); grid minor;
%Add AWGN to multibeam channel
EBNO_dB = str2num(get(handles.edit9,'String')); SNR_dB = EBNO_dB + 10*log10(Nbps);
set(handles.text16, 'String', ['Pseudo SNR = ' num2str(SNR_dB)]);
OFDM_noisy = awgn(real(OFDM_noisy), SNR_dB, 'measured')+j.*awgn(imag(OFDM_noisy), SNR_dB, 'measured');
И еще один вопрос. Я не очень понял. Допустим, у меня есть выборки сигнала. Я хочу эти выборки конвертировать в обычный сигнал на радиочастоту. Например, есть 100000 бит, которые нужно передать. В 4-QAM используется 2 бита на символ, поэтому получается 50000 бит. Количество информационных поднесущих - 48, а вообще из 64. Тогда получается 50000/48 = 1042 ОФДМ символа. В этих 1042 символах содержатся 64 х 1042 = 66688 выборки. Но так понимаю, что все эти параметры не нужны, потому что в итоге спектр OFDM-сигнала до переноса на 5 ГГц длится 64 выборки. Шаг по частоте, как я понимаю - это величина, обратная длительности OFDM во временной области. Если брать 64 МГц спектр, то 64 МГц / 64 выб = 1 МГц. Тогда сигнал из 64 выборок длится 1 мкс. Тогда частота дискретизации = 1 мкс/64 = 0,0156 мкс ~ 1е-8. Как я понял, от радиочастоты этот параметр не зависит, я прав?