Where is the error in the code using "rayleighchan" function?
조회 수: 11 (최근 30일)
이전 댓글 표시
Hi everyone,
I want to use "rayleighchan" function to simulate frequency selective fading channel. I also want to use OFDM technique to mitigate ISI. Now, I'm just trying to mitigate multipath delay caused by rayleighchan function as specified in Matlab Help (Using fading channels, working with delays section) on a very basic code, but my received signal is very different. Channel delay is 4 but received signal is not delayed by 4. Other datas in received signal is received wrong. Could you please help me on this topic?
clc;
clear all;
ts = 1/16; % sample time of the input signal (in seconds)
fd = 0; % maximum Doppler shift (in Hz)
tau = [0 1/160 1/260]; % vector of path delays (in seconds)
pdb = [0 -8 -17]; % average path gains (in dB)
%Rayleigh Fading Channel
chan = rayleighchan (ts,fd,tau,pdb);
delay = chan.ChannelFilterDelay;
% Data to be transmitted
data = [0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1];
% DPSK Modulation
moda = dpskmod(data,2);
% IFFT Operation
moda_fft = (16/sqrt(16))*ifft(fftshift(moda.')).';
% Channel effect + AWGN
xt = zeros(1,16);
xt = filter(chan,moda_fft);
awgn_moda = awgn(xt,12);
%FFT and Demodulation
demoda_fft =(sqrt(16)/16)*fftshift(fft(awgn_moda.')).';
demoda = dpskdemod(demoda_fft,2);
% Truncating channel delay with DPSK initial condition together
demoda = demoda(delay+1:end)
data_out = data(1:end-delay)
%Error calculation
sum_error = sum(sum(data_out~=demoda))
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Propagation and Channel Models에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!