ASK调制与解调
文章目錄
- 1.二進制ASK調制信號產生
- 2.二進制ASK信號解調
- 2.1相干解調
- 2.2非相干解調
- 2.ASK調制信號的matlab仿真
- 3.ASK信號解調的MATLAB仿真
1.二進制ASK調制信號產生
調制信號為二進制數字信號時,這種調制稱為二進制數字調制。在2ASK調制中,載波的幅度只有兩種變化狀態,即利用數字信息0或1的基帶矩形脈沖去鍵控一個連續的載波,使載波時斷時續輸出。有載波輸出時表示發送1,無載波輸出時表示發送0.
由于2ASK信號可以認為是一個單極性的矩形脈沖序列與一個載波相乘,即
式中,g(t)是持續時間為Ts的矩形脈沖,而ak的取值服從下述關系
由頻率卷積定理可得*s(t)*的頻譜為
由上式可知,由于基帶矩形脈沖序列的頻譜寬度是無限寬的,因此直接采用鍵控方式產生的ASK信號的頻譜帶寬也是無限寬的。隨著偏離載波中心頻率處越遠,信號功率衰減越大,且90%的信號功率均集中在主瓣帶寬內。當傳輸信道不存在其他頻帶干擾時,可以直接使用鍵控方式產生ASK信號。然而大多數情況為了避免干擾,需要在信號進入功放前增加一級帶通濾波器,保證信號的絕大部分能量通過,同時濾除帶外頻率分量。
頻帶資源緊張時,為降低信號帶寬,在調制前增加成形濾波,故2ASK信號的產生模型如下:
2.二進制ASK信號解調
2.1相干解調
相干解調原理圖如下,且接收端必須提供一個與ASK信號的載波保持同頻同相的相干載波,否則會造成解調后的波形失真。然而相干載波的實現實現比較復雜,故實際設備中更常使用包絡檢波法實現解調。
2.2非相干解調
由于包絡檢波法不需要提取相干載波,因此是一種非相干解調法,其原理如下圖所示
經過整流電路,交流信號轉換成直流信號,而后通過低通濾波器即可濾出基帶信號的包絡,最后經判決輸出,完成ASK信號的解調功能。相干與非相干解調ASK信號的誤碼率性能對比如下圖所示:
2.ASK調制信號的matlab仿真
Len=1000; %數據長度為1000Rb=1*10^6; %碼元速率 Fs=8*Rb; %采樣頻率 LenData=Len*Fs/Rb; %數據長度 Fc=70*10^6; %載波頻率 Qn=8; %量化位數 a=0.8; %成形濾波器滾降因子%產生載波信號 t=0:1/Fs:Len/Rb; carrier=cos(2*pi*Fc*t); carrier=carrier(1:LenData);%產生隨機分布的二進制數據 code_2ask=randint(1,Len,2); %對基帶數據以Fs速率采樣 code_2ask_upsamp=rectpulse(code_2ask,Fs/Rb); %對基帶數據進行成形濾波,同時進行Fs/Rb倍采樣 code_2ask_filter=rcosflt(code_2ask,1,Fs/Rb); %產生未進行成形濾波的2ASK信號 ASK2=carrier.*code_2ask_upsamp; %產生成形濾波后的2ASK信號 ASK2_filter=carrier.*code_2ask_filter(1:LenData)';%獲取2ASK信號的頻譜 ASK2_Spec=20*log10(abs(fft(ASK2,1024))); ASK2_Spec=ASK2_Spec-max(ASK2_Spec); ASK2_filter_Spec=20*log10(abs(fft(ASK2_filter,1024))); ASK2_filter_Spec=ASK2_filter_Spec-max(ASK2_filter_Spec);%產生隨機分布的四進制數據 code_4ask=randint(1,Len,4); %對基帶數據以Fs速率采樣 code_4ask_upsamp=rectpulse(code_4ask,Fs/Rb); %對基帶數據進行成形濾波,同時進行Fs/Rb倍采樣 code_4ask_filter=rcosflt(code_4ask,1,Fs/Rb); %產生未進行成形濾波的4ASK信號 ASK4=carrier.*code_4ask_upsamp; %產生成形濾波后的4ASK信號 ASK4_filter=carrier.*code_4ask_filter(1:LenData)';%獲取4ASK信號的頻譜 ASK4_Spec=20*log10(abs(fft(ASK4,1024))); ASK4_Spec=ASK4_Spec-max(ASK4_Spec); ASK4_filter_Spec=20*log10(abs(fft(ASK4_filter,1024))); ASK4_filter_Spec=ASK4_filter_Spec-max(ASK4_filter_Spec);%繪圖figure(1);x=0:200;x=x/Fs*(10^6);subplot(221);plot(x,ASK2(100:300));xlabel('時間(us)');ylabel('幅度(v)');title('未經成形濾波的2ASK時域波形');grid on;subplot(222);plot((0:200),ASK2_filter(100:300));;xlabel('時間(us)');ylabel('幅度(v)');title('成形濾波后的2ASK時域波形');grid on;subplot(223);plot((0:200),ASK4(100:300));;xlabel('時間(us)');ylabel('幅度(v)');title('未經成形濾波的4ASK時域波形');grid on;subplot(224);plot((0:200),ASK4_filter(100:300));;xlabel('時間(us)');ylabel('幅度(v)');title('成形濾波后的4ASK時域波形');grid on;figure(2);x=0:length(ASK2_Spec)-1;x=x/length(x)*Fs/10^6;subplot(221);plot(x,ASK2_Spec);xlabel('頻率(MHz)');ylabel('幅度(dB)');title('未經成形濾波的2ASK頻譜');grid on;subplot(222);plot(x,ASK2_filter_Spec);xlabel('頻率(MHz)');ylabel('幅度(dB)');title('成形濾波后的2ASK頻譜');grid on;subplot(223);plot(x,ASK4_Spec);xlabel('頻率(MHz)');ylabel('幅度(dB)');title('未經成形濾波的4ASK頻譜');grid on;subplot(224);plot(x,ASK4_filter_Spec);xlabel('頻率(MHz)');ylabel('幅度(dB)');title('成形濾波后的4ASK頻譜');grid on;程序中分別產生2ASK和4ASK,未經過成形濾波器和經過成形濾波器后的時域波形即頻譜圖
顯然,經過成形濾波器后的信號頻率濾除了主瓣外的頻率分量;2ASK和4ASK的頻譜形狀相同,主瓣寬度相同;濾波前后的信號頻譜都含有明顯的載波頻率分量。
3.ASK信號解調的MATLAB仿真
本模塊的解調的信號輸入是上一節的調制信號,只需要將輸入信號經過整流濾波即可輸出基帶信號。
源碼:
對于2ASK信號,解調出的信號呈現比較規則的基帶信號波形,取信號峰值的一般作為判決門限,很容易恢復出原始的傳輸數據。解調出的4ASK信號呈現比較規則的基帶信號波形,明顯看出有4種電平,合理設置判決門限,也能很容易恢復原始的傳播數據。
總結
- 上一篇: matplotlib 的一些知识
- 下一篇: Sentinel实现黑白名单控制详细教程