em đang làm project này mà tìm hiểu các thông tin về OFDM mà cảm thấy mơ hồ quá, ai hướng dẫn em làm bài này với, thank các bác ạ
Project: Mô phỏng OFDM sử dụng Matlab
Collapse
X
-
Tags: None
-
gửi bạn code mà mình viết.
mình mô phỏng trong trường hợp mô hình kênh chỉ có fading
cái này bạn có thể thấy rằng tỷ lệ lỗi bit không được cải thiện nhiều lắm vì ofdm nó có thể chống lại nhiễu ISI.
mình chưa hiểu lắm về kênh fading nên chưa mô phỏng, bạn có thể dựa vào cái này để phát triển lên kênh fading
% truyen dan ofdm
% su dung dieu che 16 QAM
% cp=1/4, cai nay minh se khong mo phong ve toc do
% vi khi mo phong toc do khong quan trong lam.
% so diem IFFT/FFT=64
%fc= 200 H
clear all
clc
close all
N=10^6; %so bit mo phong
n= 64; %so diem fft va ifft
x= randsrc(1,N,[-3 -1 1 3]) + j*randsrc(1,N,[-3 -1 1 3]);
scatterplot(x);title('chom sao tin hieu')
%bien doi noi tiep song song
a=64*ceil(N/64) - N;
a1= ones(1,a);
x1=[x a1]; % them cac bit 0 vao cuoi tin hieu
x1=reshape(x1,64,ceil(N/64)); % tao ma tran 64 hang , va N/64 cot
% bien doi ifft
for ii= 1:size(x1,2)
a= x1(:,ii);
b=ifft(a,64);
y(:,ii)=b;
end
% chen cp
cp=1/4;
cp=cp*n;
for ii=1:size(y,2)
a=y(:,ii);
b=a(size(y,1)- cp +1:size(y,1));
y1(:,ii)=b;
end
y=[y1;y];
% ve ky hieu dau tien
n=size(y,1);
t=1:n;
figure(2)
subplot(2,1,1)
plot(t(1:cp),real(y((1:cp),1)),'r',t(cp+1:n),real( y(cp+1:n,1)),'b');
title('phan thuc ky hieu ofdm thu nhat')
legend('phan cp','ky hieu ofdm chua chen cp')
subplot(2,1,2)
plot(t(1:cp),imag(y((1:cp),1)),'r',t(cp+1:n),imag( y(cp+1:n,1)),'b');
title('phan thuc ky hieu ofdm thu nhat')
legend('phan cp','ky hieu ofdm chua chen cp')
% kenh truyen
% chuyen doi song song noi tiep
[a1 b1]= size(y);
y=reshape(y,1,a1*b1);
% gia su dang truyen trong tin hieu bang goc,
% neu can co the nhan phia truyen voi exp(-j*2*pi*fc*t)
%phia thu nhan voi exp(-j*2*pi*fc*t)
% cong nhieu awgn
snr=linspace(5,15,7);% SNR don vi dB
for ii=1:length(snr)
y1=awgn(y,snr(ii),'measured');%cong nhieu
%bien doi noi tiep thanh song song
y3=reshape(y1,a1,b1);
%loai bo cp
y4=y3(cp+1:size(y3,1),
;
% bien doi fft
for iii=1:size(y4,2)
sig= y4(:,iii);
sig=fft(sig,64);
re(:,iii)=sig;
end
re;
[a b]= size(re);
% bien doi song song thanh noi tiep
res=reshape(re,1,a*b);
%loai bo cac so 0 da them vao ban dau
res=res(1:N);
% khoi phuc tin hieu
res=round(res);
% dem bit loi
n_err=0;
hat=res-x;
for i=1:length(hat)
if abs(hat(i)) ~= 0
n_err=n_err+1;
end
end
ber(ii)=n_err/N;
end
figure(3)
semilogy(snr,ber,'-*r')
Bài viết mới nhất
Collapse
-
bởi domar123Giải pháp toàn diện cho người dùng đa nhiệm
Nếu bạn đang cần một bộ máy vừa phục vụ công việc chuyên môn nặng vừa đáp ứng nhu cầu giải trí cao cấp, sự kết hợp giữa Ryzen 9 9950X TRAY và Radeon RX 9070 XT 16GB là lựa chọn...-
Channel: Đánh giá sản phẩm DTVN
hôm nay, 17:12 -
-
bởi lvhnKhác nhau là đi lái thuê hoặc chạy dịch vụ được
...
-
Channel: Tâm tình dân kỹ thuật
hôm nay, 15:50 -
-
bởi ittcHic, sao nhiều anh em khuyên là đàn ông đã học thì học luôn số sàn chứ đừng học số tự động anh....-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 17:46 -
-
bởi mèomướp1. Tìm hiểu đc thì càng tốt, bận thì thôi. Ko cần quá quan trọng
2. Số tự động cho đơn giản, kiểu như đi xe ga ấy ạ
3. Học lý thuyết tử tế ok
4.ok
5.có. đủ số km, tgian cầm lái là đc
6.đi ăn tập thể,...-
Channel: Tâm tình dân kỹ thuật
14-08-2026, 16:34 -

Comment