亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? simu_whole_tbjh.m

?? DTTB(中國數字地面電視標準)數字電視均衡仿真分析
?? M
字號:
%## 基于國家數字電視地面廣播(DTTB)標準,單載波調制系統的信道估計的原始模型 ##%
%################## 單載波應用模式:幀頭模式2,幀體模式C=1 ###################%
%############  仿真條件:PN595幀頭,16QAM調制,多徑衰落信道模型  #############%
%################ 對仿真數據進行同步和均衡,觀察多徑抑制效果  ################%

clear all;
close all;

len_head=595;                                                                   %幀頭長度(幀頭模式2)
len_carriers=3744;                                                              %有效信息符號長度
len_sysmes=36;                                                                  %系統信息符號長度
len_body=len_carriers+len_sysmes;                                               %幀體長度
len_frame=len_head+len_body;                                                    %信號幀長度
symbols=20;
bits=4;                                                                         %幀體每符號上的比特數
fd=2000;                                                                        %采樣間隔2000Hz
Rs=7.56*1e6;                                                                    %符號率(7.56MHz)
ts=(1/7.56)*1e-6;                                                               %基帶符號周期(1/7.56us)

%----------------------------------TRANSMISSION---------------------------%
%--------------------------------------------------------------------------
%% 發送數據調制 %%
N=symbols*len_carriers*bits;                                                    %發送有效數據包含比特數
rand('state',0);                                                                %確定隨機發生器種子
sendbits=round(rand(1,N));                                                      %產生數據位

%% 符號映射 %%
data_qam=fun_GB_QAM(sendbits,bits);                                             %調用16QAM調制函數
trans_data=reshape(data_qam,len_carriers,symbols).';                            %串并變換,每一行代表一個信息符號

%--------------------------------------------------------------------------
%% 系統信息調制 %%
sysmes=zeros(1,len_sysmes);                                                     %36位系統信息
sysmes(1:4)=[0 0 0 0];                                                          %4位系統信息:子載波個數C=1模式
bits_sysmes='00010001101000010100011110111100';                                 %32位系統信息:16QAM以及LDPC碼率1,交織模式1
symmes(5:36)=bits_sysmes-48;                                                    
sysmes_bits=zeros(1,2*len_sysmes);                                              %進行I,Q路數據相同的4QAM調制
sysmes_bits(1:2:end)=sysmes;
sysmes_bits(2:2:end)=sysmes;
sysmes_qam=fun_GB_QAM(sysmes_bits,2);                                           %進行I,Q路數據相同的4QAM調制
trans_sysmes=repmat(sysmes_qam,symbols,1);                                      %表示symbols個符號的系統信息的矩陣

%--------------------------------------------------------------------------
%% 幀體數據處理 %%
trans_body=[trans_sysmes trans_data];
frame_day=[zeros(symbols,len_head) trans_body];                         
len=size(frame_day);                                                    
frame_day_serial=reshape(frame_day.',1,len(1)*len(2));                          %并串變換
frame_day_serial(1:2:end)=frame_day_serial(1:2:end)-1;                          %偶數符號,實部-1(第一個符號看作第0個符號,為偶數)
frame_day_serial(2:2:end)=frame_day_serial(2:2:end)+1;                          %奇數符號,實部+1(第二個符號看作第1個符號,為奇數)
frame_day_parallel=reshape(frame_day_serial.',len(2),len(1)).';                 %串并變換                         
body_process=frame_day_parallel(:,len_head+1:end);                              %處理完成后的幀體數據

%--------------------------------------------------------------------------
%% 已知幀頭信號 %%
head_PN595=zeros(symbols,len_head);                                             %PN595序列生成
g=bin2dec('10010000001');                                                       %偽隨機二進制序列生成多項式:1+x3+x10 
state=bin2dec('0000000001');                                                    %偽隨機二進制序列生成寄存器初始狀態
N=2^10-1;                                                                       %生成二進制序列長度
m=mgen(g,state,N);                                                              %完成幀頭0到+1,1到-1的映射
PN595=m(1:len_head);                                                            %幀頭數據取m序列的前595個數值
for i=1:len_head                                                                %調用mgen函數,生成1023位二進制隨機序列
    if PN595(i)==0
        PN595(i)=-4.5*(1+1j);
    else
        PN595(i)=4.5*(1+1j);
    end
end
head_PN595=repmat(PN595,symbols,1);                                             %組成symbols個幀頭

%--------------------------------------------------------------------------
%% 組幀 %%
trans_signal=[head_PN595 body_process];                                         %將每個符號的幀頭和幀體組成一個完整信號幀    

%--------------------------------------------------------------------------
%% 并串變換 %%
trans_frame=reshape(trans_signal.',1,symbols*len_frame);                        %并串變換,將變換為串行數據

%--------------------------------------------------------------------------
%% 加入頻偏 %%
len_tx=length(trans_frame);
delta_f=6000;
t = (1:len_tx)*ts;
Tx_pp = trans_frame.*exp(j*2*pi*t*delta_f); 

%% 信道模型:多徑衰落信道 %%
X7=Tx_pp;
r=3;                                                                            %多徑數
a=[0.2 0.3 0.4];                                                                %多徑的幅度
d=[30 50 80];                                                                   %各徑的延遲

channel1=zeros(size(X7));
channel1(1+d(1):length(X7))=a(1)*X7(1:length(X7)-d(1));
channel2=zeros(size(X7));
channel2(1+d(2):length(X7))=a(2)*X7(1:length(X7)-d(2));
channel3=zeros(size(X7));
channel3(1+d(3):length(X7))=a(3)*X7(1:length(X7)-d(3));

Tx_data=X7+channel1+channel2+channel3;

%--------------------------------------------------------------------------
%% 加高斯白噪聲 %%  
SNR=20;                                                                         %信噪比            
frame_passchannel = awgn(Tx_data,SNR,'measured');
data_simu=frame_passchannel(1401:end);                                          %幀起始位置偏移

%-----------------------------------RECEPTION-----------------------------%
%-------------------------------------------------------------------------%
%--------------------------------------------------------------------------
%% 選取接收數據 %%
symbols=8;                                                                      %取8個信號幀長度的數據
rx=data_simu(1:symbols*len_frame);

%--------------------------------------------------------------------------
%% 符號估計 %%
N=len_frame;
G=len_head;
GI=len_head+len_sysmes;                                                         %各信號幀相同數據塊長度
T=1:3*N+2*G;
for i=1:length(T)                                                               %FFT窗移動的距離
    data1=rx(i:GI+i-1);                                                         %data1對應一個符號的前GI個數據
    data2=rx(N+i:N+GI+i-1);                                                     %data2對應一個符號的最后GI個數據
    s(i)=data2*data1';                                                          %求滑動相關值    
    ctb_cor(i)=abs(s(i));                                                       %相關幅值    
end

%--------------------------------------------------------------------------
%% 符號同步圖 %%
figure(1);
plot(T,ctb_cor);
xlabel('符號數');
ylabel('相關值');
grid on;

%% 符號校正 %%
[Max_cor start_place]=max(ctb_cor(1:N));                                        %start_place對應一個符號的第一個數據
rx_ctb=data_simu(start_place:symbols*len_frame+start_place-1);                  %以start_place所在處為數據起點
% disp(['符號起始位置:',num2str(start_place)]);                                     %顯示粗同步偏移

% %--------------------------------------------------------------------------
% %% 幀頭PN序列相關圖 %%
% figure(2);
% rr_head=data_simu(start_place:start_place-1+595);
% plot(abs(xcorr(rr_head,PN595)));
% xlabel('PN序列位數');
% ylabel('相關值');
% grid on;

%--------------------------------------------------------------------------
%% 串并變換 %%
receiv_frame=reshape(rx_ctb,len_frame,symbols);                                 %并串變換,將變換為串行數據
receiv_frame=receiv_frame.';

%--------------------------------------------------------------------------
%% 去幀頭PN序列 %%
receiv_head=receiv_frame(:,1:len_head);                                         %接收到的幀頭序列
receiv_body=receiv_frame(:,len_head+1:end);                                     %接收到的幀體數據

%--------------------------------------------------------------------------
%% 頻偏估計 %%
head_mean=mean(abs(receiv_head),2);
M=head_mean(2);
re_head=receiv_head(2,:);

L=10;
corr_head = re_head.*conj(PN595)./M;
corr_FFT=fft(corr_head,L*len_body);

%--------------------------------------------------------------------------
%% 頻偏估計作圖 %%
figure(3); 
ff=(-len_body*L/2:1:len_body*L/2-1)*fd/L;
pp_cor=fftshift(abs(corr_FFT));
plot(ff,pp_cor);
title('頻偏估計');
xlabel('頻偏/Hz');
ylabel('幅值');
axis([-2e5 2e5 0 4000]);

%--------------------------------------------------------------------------
%% 頻偏校正 %%
pp_cor=fftshift(abs(corr_FFT));
[Max_corr x] = max(pp_cor);
xpp=(x-1-len_body*L/2)*fd/L;                                                    %估計出的頻偏值
tt=(1:length(rx_ctb))*ts;
rx_ppjz=rx_ctb.*exp(-1j*2*pi*xpp*tt);

%--------------------------------------------------------------------------
%% FFT %%
receiv_frame=reshape(rx_ppjz,len_frame,symbols);                                %并串變換,變換為串行數據
receiv_frame=receiv_frame.';
receiv_head=receiv_frame(:,1:len_head);                                         %接收到的幀頭序列
receiv_body=receiv_frame(:,len_head+1:end);                                     %接收到的幀體數據

head_FFT=fft(receiv_head,len_head,2);
body_FFT=fft(receiv_body,len_body,2);

%--------------------------------------------------------------------------
%% 信道估計 %%
PN595_FFT=fft(head_PN595,len_head,2);
PN595_FFT=PN595_FFT(1:symbols,:);
H_head=head_FFT./PN595_FFT;                                                     %由幀頭的PN序列估計信道
h_head=ifft(H_head,len_head,2);          
H_body=fft(h_head,len_body,2);

% %--------------------------------------------------------------------------
% %% ZF頻域均衡 %%
% W_zf=1./H_body;
% body_equa_zf=body_FFT.*W_zf;                                                    %迫零均衡(ZF)
% body_IFFT_zf=ifft(body_equa_zf,len_body,2);                                     %IFFT
% 
% body_power=mean(mean(abs(body_IFFT_zf).^2,2));                                  %幀體數據平均功率
% head_power=body_power/(4.5^2*2);                                                %幀頭數據的平均功率和幀體相同  
% head_jh=head_PN595.*sqrt(head_power);
% frame_IFFT_zf=[head_jh body_IFFT_zf];                                           %加幀頭
% data_out_zf=reshape(frame_IFFT_zf.',1,symbols*len_frame);

%--------------------------------------------------------------------------
%% MMSE頻域均衡 %%
H_mmse_fm=abs(H_body).^2+1/10^(SNR/10);                                            
W_mmse=conj(H_body)./H_mmse_fm;
body_equa_mmse=body_FFT.*W_mmse;                                                %最小均方誤差均衡(MMSE)
body_IFFT_mmse=ifft(body_equa_mmse,len_body,2);                                 %IFFT

%--------------------------------------------------------------------------
%% 均衡前后自相關圖 %%
figure(4);                                                                      
Nc=len_frame;
subplot(211);
cyy=xcorr(receiv_body(1,:),Nc);                                                 %生成長度為2*Nc+1的自相關序列
tt=(-Nc*ts:ts:Nc*ts)*1e6;
plot(tt,20*log10(abs(cyy)/abs(cyy(Nc+1))));                                     %接收數據自相關圖
axis([-20 20 -40 0]);
zoom on;
xlabel('時間(us)');
ylabel('幅度(dB)');
title('通過信道后數據自相關');
subplot(212);
CYY=xcorr(body_IFFT_mmse(1,:),Nc);                                                   %生成長度為2*Nc+1的自相關序列
tt=(-Nc*ts:ts:Nc*ts)*1e6;
plot(tt,20*log10(abs(CYY)/abs(CYY(Nc+1))));                                     %均衡后數據自相關圖
axis([-20 20 -40 0]);
zoom on;
xlabel('時間(us)');
ylabel('幅度(dB)');
title('MMSE均衡后數據自相關');



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区日韩精品| 日本精品视频一区二区| 日韩欧美一二区| 美女一区二区视频| 欧美一区二区在线播放| 久久成人综合网| 久久尤物电影视频在线观看| 国产一区二区三区精品视频| 国产精品久久久久久久久动漫 | 51精品久久久久久久蜜臀| 日韩成人午夜电影| 日韩欧美一级二级| 丁香桃色午夜亚洲一区二区三区| 国产婷婷色一区二区三区在线| 成人污污视频在线观看| 亚洲欧美日韩小说| 欧美日韩中文一区| 久久www免费人成看片高清| 国产日产亚洲精品系列| 91网上在线视频| 日韩中文字幕一区二区三区| 久久综合资源网| 色综合色综合色综合| 蜜臀av性久久久久蜜臀aⅴ| 国产亚洲福利社区一区| 欧洲精品在线观看| 国产精品一区二区黑丝| 亚洲国产欧美在线| 久久综合九色综合97婷婷女人| av毛片久久久久**hd| 丝袜诱惑制服诱惑色一区在线观看| 欧美不卡视频一区| 91久久精品国产91性色tv| 极品少妇一区二区| 亚洲自拍欧美精品| 日本一区二区三区电影| 欧美老女人第四色| 99视频在线观看一区三区| 日本va欧美va瓶| 亚洲美女电影在线| 2020国产精品| 欧美图区在线视频| 国产99久久久久久免费看农村| 亚洲国产成人av| 国产精品久久免费看| 日韩一级二级三级精品视频| av亚洲精华国产精华精| 国产在线精品不卡| 首页亚洲欧美制服丝腿| 亚洲欧美电影一区二区| 国产日韩欧美精品在线| 日韩一区二区三区视频在线| 欧美性色黄大片| 99热99精品| 国产米奇在线777精品观看| 日韩高清不卡在线| 亚洲一区二区黄色| 亚洲欧美日韩国产一区二区三区| 久久在线免费观看| 欧美videos大乳护士334| 欧美日韩国产中文| 欧美在线你懂的| 91免费观看在线| 成人免费视频视频| 国产mv日韩mv欧美| 高清免费成人av| 国产999精品久久| 国产在线国偷精品免费看| 久久99精品久久久久久国产越南| 日韩精品亚洲一区二区三区免费| 亚洲综合男人的天堂| 亚洲精品视频在线观看免费 | 色婷婷一区二区| 成人动漫精品一区二区| 国产大片一区二区| 国产精品一区二区黑丝| 高清国产午夜精品久久久久久| 国产一区高清在线| 国产乱码一区二区三区| 国产美女精品在线| 国产成人av影院| 国产成人亚洲精品狼色在线| 国产精品自拍av| 国产福利一区二区三区视频| 高清不卡一二三区| 国产99久久精品| 日韩午夜精品视频| 91精品国产aⅴ一区二区| 91精品国产综合久久精品性色| 91精品婷婷国产综合久久性色 | 成人看片黄a免费看在线| 成人免费观看av| 色综合久久久久综合| 欧美日韩高清影院| 日韩一区二区视频| 久久一留热品黄| 成人欧美一区二区三区小说 | 欧美日韩一区二区三区免费看 | 99精品视频在线播放观看| 色婷婷久久久亚洲一区二区三区| 欧美无人高清视频在线观看| 91精品国产aⅴ一区二区| 久久视频一区二区| 最新高清无码专区| 爽好多水快深点欧美视频| 久久99精品国产.久久久久久 | 欧美一级生活片| 久久九九久久九九| 亚洲精品成人悠悠色影视| 天天av天天翘天天综合网色鬼国产| 蜜乳av一区二区| 成人黄色电影在线 | 91麻豆swag| 69堂国产成人免费视频| 国产午夜精品一区二区| 亚洲精品日韩综合观看成人91| 日本一区中文字幕| 成人激情小说乱人伦| 5858s免费视频成人| 国产日产欧美精品一区二区三区| 亚洲综合一区二区三区| 国产一区在线视频| 欧美日韩国产天堂| 亚洲国产经典视频| 免费成人在线影院| 91麻豆免费看片| 久久午夜电影网| 亚洲高清免费在线| 成人白浆超碰人人人人| 欧美一级二级三级乱码| 亚洲视频一二三| 国产伦精品一区二区三区在线观看 | 国产夫妻精品视频| 在线播放国产精品二区一二区四区 | 中日韩av电影| 美女www一区二区| 欧美影视一区在线| 国产精品看片你懂得| 老司机精品视频在线| 精品视频在线免费观看| 成人欧美一区二区三区黑人麻豆 | 在线播放中文一区| 亚洲欧美另类在线| 国产不卡视频一区| 欧美精品一区二区在线观看| 亚洲成人三级小说| 91美女视频网站| 亚洲国产精品精华液ab| 精品亚洲porn| 欧美一卡2卡三卡4卡5免费| 亚洲一区二区五区| 一本色道亚洲精品aⅴ| 国产精品久线在线观看| 国产成人精品一区二区三区四区| 日韩一级黄色大片| 蜜桃在线一区二区三区| 欧美精品久久一区| 亚洲综合清纯丝袜自拍| 色视频成人在线观看免| 国产精品电影院| 不卡av电影在线播放| 欧美韩国日本不卡| 成人午夜激情片| 国产网红主播福利一区二区| 国产一区福利在线| 国产欧美精品一区二区色综合| 国产精品77777竹菊影视小说| 亚洲精品一区二区三区99| 国产在线精品视频| 欧美激情中文不卡| 不卡的看片网站| 亚洲欧美日韩在线播放| 91女神在线视频| 亚洲韩国一区二区三区| 欧美剧在线免费观看网站| 日本美女一区二区| 精品久久久久一区| 粉嫩一区二区三区在线看| 日本一区二区综合亚洲| 91丨porny丨在线| 亚洲一区二区三区影院| 这里是久久伊人| 久久成人麻豆午夜电影| 久久久久综合网| 成人h精品动漫一区二区三区| 成人欧美一区二区三区1314| 在线观看亚洲精品视频| 天天免费综合色| 2023国产一二三区日本精品2022| 国产高清一区日本| 亚洲激情男女视频| 欧美一二三在线| 国产69精品一区二区亚洲孕妇| 亚洲欧美日韩电影| 69久久夜色精品国产69蝌蚪网| 国产乱人伦精品一区二区在线观看 | 久久99精品久久久久婷婷| 中文字幕av一区二区三区| 色综合久久久久| 久久er精品视频|