Код
n = 201;
map_re = randi([0 1], [1,n]);
map_im = randi([0 1], [1,n]);
for i = 1:n
if map_re(i) == 0
map_re(i) = -1;
end
end
for i = 1:n
if map_im(i) == 0
map_im(i) = -1;
end
end
mapc = map_re + 1i*map_im;
mapc(101) = complex(0);
mapc = mapc * 2^(1/2) / 2;
figure; plot(mapc, '*'); grid on;
maptx = [mapc(101:201) zeros(1,823) mapc(1:100)];
figure; plot(real(maptx)); grid on;
tx = ifft(maptx, 1024);
figure; plot(real(tx)); grid on;
figure; plot_psd(tx, 100e6, 256);
maprx = fft(tx, 1024);
figure; plot(maprx, '*'); grid on;
Код
function plot_psd(x, Fs, N)
% Строит график спектральной плотности мощности сигнала (Power Spectral Density) нормированный по log оси и fs
NH = floor (N/2);
xPsd = psd (x/2^(12-1), N, Fs);
length(xPsd);
if (length(xPsd) ~= N) % real
xPsdResh(1:NH) = xPsd(1:NH);
xFreq = (0:NH-1)/N*Fs*10^-6;
length(xPsdResh);
length(xFreq);
else % complex
xPsdResh(1:NH) = xPsd(NH+1:N);
xPsdResh(NH+1:N) = xPsd(1:NH);
xFreq = ((0:N-1)-NH)/N*Fs*10^-6;
end
xLog = 10*log10(xPsdResh);
% xFreq = ((0:N-1)-NH)/N*Fs*10^-6;
plot( xFreq, xLog, 'b-');
grid;
end