日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

2ASK调制与解调(包含maltab代码)

發(fā)布時(shí)間:2023/12/10 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2ASK调制与解调(包含maltab代码) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)驗(yàn)原理

實(shí)驗(yàn)代碼

信噪比為20db時(shí)代碼:

clear all; close all; %%%%%%% parameter settings %%%%% Rb = 1000;%比特率 Rs = 1000;%符號(hào)率 Fs = 10000;%采樣頻率 N = 100000;%原始消息信號(hào)的長(zhǎng)度 UpSampleRate = Fs/Rs; % 一個(gè)符號(hào)周期內(nèi)采樣點(diǎn)數(shù) RollOff = 0.25; Span = 6; Sps = UpSampleRate; SNR = 20; fc= 2000; %%%% 信源 %%%%% %%% 隨機(jī)信號(hào) src_bit = randi([0,1],1,N); src_sym= src_bit; %升采樣 src_upsamp_sym = zeros(1,N*UpSampleRate); src_upsamp_sym(1:UpSampleRate:end) = src_sym; %脈沖成形 h_rcos = rcosdesign(RollOff,Span,Sps,'sqrt'); rcos_src_sym =conv(h_rcos,src_upsamp_sym); %上載波 time = [1:length(rcos_src_sym)]/Fs; rcos_src_sym_carrier = rcos_src_sym.*cos(2*pi*fc.*time); % 頻域觀察 fft_rcos_src_sym= abs(fft(rcos_src_sym))/Fs; fft_rcos_src_sym_carrier= abs(fft(rcos_src_sym_carrier))/Fs; Ds = Fs/length(rcos_src_sym);%頻率分辨率 f_s = -Fs/2:Ds:Fs/2-Ds; %只關(guān)注前20個(gè)符號(hào) figure(1); stem(src_bit(1:20)); title("原始消息序列"); figure(2); subplot(2,1,1); plot(rcos_src_sym(1:230)); title("升余弦滾降脈沖成形"); subplot(2,1,2); plot(f_s,fftshift(fft_rcos_src_sym)); axis([-Fs/2,Fs/2,0,1]); title("升余弦滾降脈沖成形頻域觀察"); figure(3); subplot(2,1,1); plot(time(1:230),rcos_src_sym_carrier(1:230)); title("2ASK調(diào)制后的波形"); subplot(2,1,2); plot(f_s,fftshift(fft_rcos_src_sym_carrier)); axis([-Fs/2,Fs/2,0,1]); title("2ASK調(diào)制后的波形頻域觀察"); %信道 rcos_src_sym_carrier_noise = awgn(rcos_src_sym_carrier,SNR); %接收端 %相干解調(diào) rcos_src_sym_noise = rcos_src_sym_carrier_noise.*cos(2*pi*fc.*time); LPF_fir128=fir1(128,0.2);%生成低通濾波器 rcos_src_sym_LP = 2*conv(LPF_fir128,rcos_src_sym_noise); %匹配濾波 h1_rcos = rcosdesign(RollOff,Span,Sps,'sqrt'); rcos_src_sym_MF =conv(h1_rcos,rcos_src_sym_LP ); %抽樣判決 delay = Sps*Span+64; rcos_src_sym_MF_option= rcos_src_sym_MF(delay:UpSampleRate:end);%抽樣值中前N個(gè)值為有效值 rcos_src_sym_MF_option = rcos_src_sym_MF_option(1:N); rcos_src_sym_MF_option_judge = [abs(rcos_src_sym_MF_option)>0.5]; figure(4); subplot(3,1,1); plot(rcos_src_sym_MF(1:delay+200)); title("匹配濾波后的波形"); subplot(3,1,2); stem(rcos_src_sym_MF_option(1:20)); title("抽樣后的結(jié)果"); subplot(3,1,3); stem(rcos_src_sym_MF_option_judge(1:20)); title("判決后的結(jié)果");

繪制誤碼率曲線代碼:(設(shè)置不同的信噪比,使用for循環(huán)求出不同信噪比條件下的誤碼率)

%誤碼率曲線的繪制 clear all; close all; %%%%%%% parameter settings %%%%% Rb = 1000;%比特率 Rs = 1000;%符號(hào)率 Fs = 10000;%采樣頻率 N = 100000;%原始消息信號(hào)的長(zhǎng)度 UpSampleRate = Fs/Rs; % 一個(gè)符號(hào)周期內(nèi)采樣點(diǎn)數(shù) RollOff = 0.25; Span = 6; Sps = UpSampleRate; SNR = 20; fc= 2000; %%%% 信源 %%%%% %%% 隨機(jī)信號(hào) src_bit = randi([0,1],1,N); src_sym= src_bit; %升采樣 src_upsamp_sym = zeros(1,N*UpSampleRate); src_upsamp_sym(1:UpSampleRate:end) = src_sym; %脈沖成形 h_rcos = rcosdesign(RollOff,Span,Sps,'sqrt'); rcos_src_sym =conv(h_rcos,src_upsamp_sym); %上載波 time = [1:length(rcos_src_sym)]/Fs; rcos_src_sym_carrier = rcos_src_sym.*cos(2*pi*fc.*time); % 頻域觀察 fft_rcos_src_sym= abs(fft(rcos_src_sym))/Fs; fft_rcos_src_sym_carrier= abs(fft(rcos_src_sym_carrier))/Fs; Ds = Fs/length(rcos_src_sym);%頻率分辨率 f_s = -Fs/2:Ds:Fs/2-Ds; %只關(guān)注前20個(gè)符號(hào) figure(1); stem(src_bit(1:20)); title("原始消息序列"); figure(2); subplot(2,1,1); plot(rcos_src_sym(1:230)); title("升余弦滾降脈沖成形"); subplot(2,1,2); plot(f_s,fftshift(fft_rcos_src_sym)); axis([-Fs/2,Fs/2,0,1]); title("升余弦滾降脈沖成形頻域觀察"); figure(3); subplot(2,1,1); plot(time(1:230),rcos_src_sym_carrier(1:230)); title("2ASK調(diào)制后的波形"); subplot(2,1,2); plot(f_s,fftshift(fft_rcos_src_sym_carrier)); axis([-Fs/2,Fs/2,0,1]); title("2ASK調(diào)制后的波形頻域觀察"); snr_db_tab = 1:100; SER = zeros(size(snr_db_tab));%實(shí)際誤碼率 for index = 1:length(snr_db_tab) %信道 SNR = snr_db_tab(index); rcos_src_sym_carrier_noise = awgn(rcos_src_sym_carrier,SNR); %接收端 %相干解調(diào) rcos_src_sym_noise = rcos_src_sym_carrier_noise.*cos(2*pi*fc.*time); LPF_fir128=fir1(128,0.2);%生成低通濾波器 rcos_src_sym_LP = 2*conv(LPF_fir128,rcos_src_sym_noise); %匹配濾波 h1_rcos = rcosdesign(RollOff,Span,Sps,'sqrt'); rcos_src_sym_MF =conv(h1_rcos,rcos_src_sym_LP ); %抽樣判決 delay = Sps*Span+64; rcos_src_sym_MF_option= rcos_src_sym_MF(delay:UpSampleRate:end);%抽樣值中前N個(gè)值為有效值 rcos_src_sym_MF_option = rcos_src_sym_MF_option(1:N); rcos_src_sym_MF_option_judge = [abs(rcos_src_sym_MF_option)>0.5]; %計(jì)算誤碼率 [num,ratio]=biterr(src_sym,rcos_src_sym_MF_option_judge); SER(index) = ratio; end figure(4); subplot(3,1,1); plot(rcos_src_sym_MF(1:delay+200)); title("匹配濾波后的波形"); subplot(3,1,2); stem(rcos_src_sym_MF_option(1:20)); title("抽樣后的結(jié)果"); subplot(3,1,3); stem(rcos_src_sym_MF_option_judge(1:20)); title("判決后的結(jié)果"); figure(5); semilogy(snr_db_tab,SER); title("誤碼率曲線");

運(yùn)行結(jié)果

信噪比為20db時(shí)運(yùn)行結(jié)果:(載波頻率為2000hz,只繪制了前20個(gè)碼元)

計(jì)算誤符號(hào)率: %計(jì)算誤碼率,由于是2ask誤符號(hào)率與誤比特率一樣 [num,ratio]=biterr(src_sym,rcos_src_sym_MF_option_judge); num; ratio;

Snr=20db時(shí),10萬(wàn)個(gè)符號(hào)錯(cuò)138個(gè),誤符號(hào)率為0.0014,可以接受.

誤碼率曲線的繪制:

總結(jié)

以上是生活随笔為你收集整理的2ASK调制与解调(包含maltab代码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。