求OFDM系统,Matlab大神写一个OFDM系统测量峰均值的程序只需要产生OFDM信号,并测量峰均值,产生峰均值响应波形就可以了!
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 16:54:17
![求OFDM系统,Matlab大神写一个OFDM系统测量峰均值的程序只需要产生OFDM信号,并测量峰均值,产生峰均值响应波形就可以了!](/uploads/image/z/6366709-37-9.jpg?t=%E6%B1%82OFDM%E7%B3%BB%E7%BB%9F%2CMatlab%E5%A4%A7%E7%A5%9E%E5%86%99%E4%B8%80%E4%B8%AAOFDM%E7%B3%BB%E7%BB%9F%E6%B5%8B%E9%87%8F%E5%B3%B0%E5%9D%87%E5%80%BC%E7%9A%84%E7%A8%8B%E5%BA%8F%E5%8F%AA%E9%9C%80%E8%A6%81%E4%BA%A7%E7%94%9FOFDM%E4%BF%A1%E5%8F%B7%2C%E5%B9%B6%E6%B5%8B%E9%87%8F%E5%B3%B0%E5%9D%87%E5%80%BC%2C%E4%BA%A7%E7%94%9F%E5%B3%B0%E5%9D%87%E5%80%BC%E5%93%8D%E5%BA%94%E6%B3%A2%E5%BD%A2%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BA%86%21)
求OFDM系统,Matlab大神写一个OFDM系统测量峰均值的程序只需要产生OFDM信号,并测量峰均值,产生峰均值响应波形就可以了!
求OFDM系统,Matlab大神写一个OFDM系统测量峰均值的程序
只需要产生OFDM信号,并测量峰均值,产生峰均值响应波形就可以了!
求OFDM系统,Matlab大神写一个OFDM系统测量峰均值的程序只需要产生OFDM信号,并测量峰均值,产生峰均值响应波形就可以了!
你也没说系统子载波数是多少,调试方式是QPSK呢,还是更高阶,很多参数都不知道.
我写了个小程序,调制方式是4QAM,子载波数是256,统计了10个OFDM符号.
clc;
clear;
LOOP = 10; % Simulation times
Symbol_peak = 0;
Symbol_average = 0;
data = [];
num_tone = 256;
bit_alloc = 2 * ones(1, num_tone);
% Simulation begin
for i_loop = 1 : LOOP
Tx_f = zeros(1, num_tone);
for idx = 1 : num_tone
bit_len = bit_alloc(idx);
if 0 == bit_len % Do not carry any bit on this tone
continue;
else % Bit Allocation and QAM mapping
bits = randint(1, bit_len);
bits = dec2bin(bits)';
switch bits
case '00'
signal = 1+i;
case '01'
signal = 1-i;
case '10'
signal = -1+i;
case '11'
signal = -1-i;
end
Tx_f(idx) = signal;
end
end
% IFFT to time domain
tmp = conj(Tx_f(2:end));
tmp = fliplr(tmp);
Symbol_f = [Tx_f 0 tmp];
Symbol_t = ifft(Symbol_f);
Symbol_t = real(Symbol_t);
data = [data Symbol_t];
% PARA statistics
if Symbol_peak < max(abs(Symbol_t))
Symbol_peak = max(abs(Symbol_t));
end
Symbol_average = Symbol_average + sqrt(mean(abs(Symbol_t).^2));
end
Symbol_average = Symbol_average / LOOP;
PAR = Symbol_peak/Symbol_average;
% Show result
plot(data,'-b.');
xlabel('time');
ylabel('signal')
fprintf('PAP: %f\n', PAR);