RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FSK調(diào)制技術(shù)的MATLAB與FPGA設(shè)計(jì)

FPGA設(shè)計(jì)論壇 ? 來源:CSDN技術(shù)社區(qū) ? 作者:FPGADesigner ? 2022-04-26 13:12 ? 次閱讀

FSK調(diào)制

FSK是利用載波的頻率表示基帶信息,比如在2FSK系統(tǒng)中,采用單頻信號(hào)f1表示信息0、單頻信號(hào)f2表示信息1。根據(jù)碼元轉(zhuǎn)換時(shí)載波的相位是否連續(xù),分為非連續(xù)相位FSK和連續(xù)相位FSK,如下圖所示:

ed9ac034-c515-11ec-bce3-dac502259ad0.jpg

第三幅圖為連續(xù)相位FSK調(diào)制,也稱作CPFSK,可視作振蕩頻率隨基帶信號(hào)線性變化;第四幅圖為非連續(xù)相位FSK,在碼元轉(zhuǎn)換時(shí)有一個(gè)相位的跳變,可視作兩個(gè)ASK調(diào)制信號(hào)的疊加。

FSK的一個(gè)重要參數(shù)是頻移指數(shù)h=(f2-f1)*T,T為碼元周期。該參數(shù)影響著兩個(gè)單頻信號(hào)之間的相關(guān)系數(shù)ρ。ρ越小,越容易將兩個(gè)信號(hào)區(qū)分開,即解調(diào)系統(tǒng)的解調(diào)性能越好。h的幾個(gè)特殊取值如下:

當(dāng)h=0.715時(shí),ρ可以取到最小值-2π/3;

當(dāng)h=kπ(k≥1)時(shí),ρ為0,即兩信號(hào)正交;

當(dāng)h=N(整數(shù))時(shí),F(xiàn)SK總是會(huì)體現(xiàn)出連續(xù)相位特性。

調(diào)制信號(hào)的頻譜與相位變化息息相關(guān),如果存在相位突變,信號(hào)頻譜寬度會(huì)擴(kuò)展(產(chǎn)生旁瓣)。CPFSK是一種恒包絡(luò)調(diào)制技術(shù),在碼元速率和h相同時(shí),CPFSK比非連續(xù)相位的FSK主瓣寬度更窄,且旁瓣分量更小,通過限帶濾波后信號(hào)包絡(luò)起伏小,適合應(yīng)用于非線性信道。

MATLAB設(shè)計(jì)

MATLAB中可以按照FSK原理完成FSK調(diào)制,但是只能產(chǎn)生非連續(xù)相位的FSK調(diào)制信號(hào)(除非h=1)。如果想要產(chǎn)生連續(xù)相位的FSK調(diào)制信號(hào),必須使用MATLAB提供的fskmod函數(shù),示例代碼如下:

edb6e4c6-c515-11ec-bce3-dac502259ad0.png

上面將代表0和1兩個(gè)頻率之間的間隔直接設(shè)置為8,也可以根據(jù)頻移指數(shù)h的計(jì)算公式來設(shè)定。fskmod最后還可以增加一個(gè)參數(shù),默認(rèn)值為’cont’表示連續(xù)相位;’discont’表示非連續(xù)相位。

需要注意的是,老版本的MATLAB可能會(huì)用到randint函數(shù)產(chǎn)生隨機(jī)序列;而2017以后的版本只能使用randi函數(shù)。

FSK的FPGA設(shè)計(jì)

在Vivado開發(fā)環(huán)境下完成2FSK(非連續(xù)相位)調(diào)制技術(shù)的設(shè)計(jì)并進(jìn)行仿真,系統(tǒng)時(shí)鐘32Mhz,碼元速率1Mhz,載波頻率6Mhz,頻移指數(shù)h=3.5。模塊接口如下:

edd0128e-c515-11ec-bce3-dac502259ad0.png

配置兩個(gè)DDS產(chǎn)生兩個(gè)代表1和0的單頻信號(hào)。f2-f1=h/T=3.5/1ns=3.5Mhz,則在6Mhz載波頻率的基礎(chǔ)上選擇4.25Mhz和7.75MHz。DDS Compiler IP核使用方法可參考https://blog.csdn.net/fpgadesigner/article/details/80512067。本設(shè)計(jì)將DDS的無雜散動(dòng)態(tài)范圍設(shè)置為95dB,對應(yīng)的位寬為16bit。實(shí)例化代碼如下:

ede74878-c515-11ec-bce3-dac502259ad0.png

FSK調(diào)制信號(hào)的產(chǎn)生有兩種方法。第一種方法將FSK視作兩路ASK信號(hào)的合成(一路ASK有載波代表1,一路ASK無載波代表1),代碼如下:

edfb4940-c515-11ec-bce3-dac502259ad0.png

采用此方法的系統(tǒng)原理圖如下:

ee105498-c515-11ec-bce3-dac502259ad0.jpg

可以看到一路ASK信號(hào)為din與f1的乘法,另一路信號(hào)為din取反后與f2的乘法,兩路加起來便得到FSK調(diào)制信號(hào)。另一種方法直接使用多路選擇器對輸入的基帶數(shù)據(jù)進(jìn)行判決輸出:

ee3109d6-c515-11ec-bce3-dac502259ad0.png

采用此方法的系統(tǒng)原理圖如下:

RTL_MUX即為多路選擇器,明顯第二種方法更加節(jié)省資源。

CPFSK的FPGA設(shè)計(jì)

連續(xù)相位的FSK調(diào)制信號(hào)產(chǎn)生可以借助DDS的特性,DDS的實(shí)現(xiàn)原理就使其輸出信號(hào)具有連續(xù)相位特性,即使頻率突然改變。配置一個(gè)DDS,Implementation->Phase Increment Programmability設(shè)置為Streaming,可以通過S_AXIS_PHASE接口動(dòng)態(tài)配置DDS的輸出頻率。完整代碼如下:

ee470114-c515-11ec-bce3-dac502259ad0.png

DDS的頻率分辨率設(shè)置為976.5625Hz,正好對應(yīng)相位位寬為15Bits(Fs/2^B=32MHz/2^15=976.5625Hz)。因此f1=4.25MHz對應(yīng)的頻率控制字為4351(f1/976.5625-1=4351);f2=7.75MHz對應(yīng)的頻率控制字為7935(f2/976.5625-1=7935)。

代碼中根據(jù)輸入基帶的情況設(shè)定對應(yīng)的頻率控制字??梢奀PFSK只需要使用一個(gè)DDS Compiler IP核即可,比FSK要節(jié)省不少資源。

仿真測試

編寫testbench,產(chǎn)生一個(gè)周期信號(hào)模擬二進(jìn)制基帶數(shù)據(jù)。首先仿真非連續(xù)相位的FSK:

ee69f8d6-c515-11ec-bce3-dac502259ad0.jpg

可以明顯看到在碼元的跳變時(shí)刻FSK信號(hào)的相位有明顯的突變。再仿真CPFSK:

ee82f714-c515-11ec-bce3-dac502259ad0.jpg

看到碼元跳變時(shí)刻FSK信號(hào)的相位仍保持連續(xù)變化。注意由于DDS有一定的Latency,導(dǎo)致上圖FSK信號(hào)相比基帶數(shù)據(jù)有一定的延遲。

Quartus環(huán)境下實(shí)現(xiàn)

Quartus中對應(yīng)的IP核為NCO,在產(chǎn)生FSK信號(hào)時(shí)與DDS用法基本相同;但在產(chǎn)生CPFSK信號(hào)時(shí),NCO IP核有獨(dú)特的配置方式。

NCO的輸出頻率由phi_inc_i接口控制。需要使用FSK調(diào)制功能時(shí),在Implementation標(biāo)簽下選中“Frequency Modulation Input”:

ee9e0572-c515-11ec-bce3-dac502259ad0.jpg

IP核會(huì)多出一個(gè)freq_mod_i接口,該接口的作用時(shí)在phi_inc_i輸出頻率的基礎(chǔ)上進(jìn)行調(diào)整。比如:頻率控制字位寬為25Bits,phi_inc_i輸出頻率6Mhz,系統(tǒng)時(shí)鐘32MHz,需要輸出f1=4.25Mhz,則freq_mod_i對應(yīng)的控制字為(4.25Mhz-6MHz)/(32Mhz/2^25)=-1835008。

根據(jù)基帶數(shù)據(jù)改變freq_mod_i接口的控制字即可實(shí)現(xiàn)CPFSK信號(hào)的產(chǎn)生。

原文標(biāo)題:FPGA學(xué)習(xí)-FSK調(diào)制技術(shù)

文章出處:【微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602986
  • matlab
    +關(guān)注

    關(guān)注

    185

    文章

    2974

    瀏覽量

    230384
  • FSK調(diào)制
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    7830

原文標(biāo)題:FPGA學(xué)習(xí)-FSK調(diào)制技術(shù)

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    FSK調(diào)制工作原理

    0用不發(fā)射載波表示,二進(jìn)制1用發(fā)射1表示。 ASK跟OOK的頻譜都比較寬。 FSK是頻移鍵控調(diào)制的簡寫,即用不同的頻率來表示不同的符號(hào)。例如2KHz表示符號(hào)0,3KHz表示符號(hào)1。 GFSK是高斯
    發(fā)表于 03-27 14:38

    【資料分享】基于FPGAFSK調(diào)制解器器設(shè)計(jì)

    的2FSK信號(hào)調(diào)制解調(diào)器,利用m序列的隨機(jī)性和確定性來產(chǎn)生輸入基帶信號(hào),用分頻器把時(shí)鐘信號(hào)分頻成兩個(gè)不同頻率的信號(hào)。詳細(xì)介紹了基于FPGA的2FSK信號(hào)發(fā)生器的設(shè)計(jì)方法,提供了VHDL
    發(fā)表于 03-20 16:54

    怎樣用FPGA實(shí)現(xiàn)FSK調(diào)制解調(diào)呢?

    最近想做這方面的,怎樣用FPGA實(shí)現(xiàn)FSK調(diào)制解調(diào)?但是我一點(diǎn)頭緒都沒有,哪位高手幫幫忙,講解一下什么的
    發(fā)表于 04-06 14:29

    怎樣用FPGA實(shí)現(xiàn)FSK調(diào)制解調(diào)呢?

    最近想做這方面的,怎樣用FPGA實(shí)現(xiàn)FSK調(diào)制解調(diào)?但是我一點(diǎn)頭緒都沒有,哪位高手幫幫忙,講解一下什么的
    發(fā)表于 05-08 17:34

    什么是fsk調(diào)制? fsk調(diào)制是什么意思?

    什么是fsk調(diào)制fsk調(diào)制是什么意思? 數(shù)字調(diào)頻又稱移頻鍵控,簡記為FSK,它是載波頻率隨數(shù)字信號(hào)而變化的一種
    發(fā)表于 04-21 13:13 ?2.3w次閱讀

    fsk調(diào)制電路

    fsk調(diào)制電路 本圖是由74LS74等構(gòu)成的FSK調(diào)制電路。這種頻移鍵控(FSK)調(diào)制電路既沒
    發(fā)表于 04-22 00:24 ?8381次閱讀
    <b class='flag-5'>fsk</b><b class='flag-5'>調(diào)制</b>電路

    FSK調(diào)制和電力線接口電路

    FSK調(diào)制和電力線接口電路
    發(fā)表于 02-26 22:30 ?734次閱讀
    <b class='flag-5'>FSK</b><b class='flag-5'>調(diào)制</b>和電力線接口電路

    基于CORDIC算法2FSK調(diào)制器的FPGA設(shè)計(jì)

    本文提出了應(yīng)用CORDIC(Coordinate Rotation Digital Computer)算法實(shí)時(shí)計(jì)算正弦值的方案,并基于CORDIC算法在FPGA芯片上設(shè)計(jì)了2FSK調(diào)制器。這不僅能夠節(jié)省大量的
    發(fā)表于 05-31 10:22 ?1804次閱讀
    基于CORDIC算法2<b class='flag-5'>FSK</b><b class='flag-5'>調(diào)制</b>器的<b class='flag-5'>FPGA</b>設(shè)計(jì)

    基于DDS與FPGAFSK調(diào)制方式

    在傳統(tǒng)的 FSK 調(diào)制方式中, 兩個(gè)載波頻率轉(zhuǎn)換期間, 已調(diào)信號(hào)存在相位和頻率突變, 造成系統(tǒng)頻帶利用率不高和信號(hào)頻譜衰減太慢。用DDS 進(jìn)行標(biāo)準(zhǔn)FSK 調(diào)制, 可使其相位連續(xù), 但由
    發(fā)表于 08-04 15:16 ?72次下載
    基于DDS與<b class='flag-5'>FPGA</b>的<b class='flag-5'>FSK</b><b class='flag-5'>調(diào)制</b>方式

    FPGA實(shí)現(xiàn)2FSK數(shù)字信號(hào)調(diào)制解調(diào)

    基于FPGA調(diào)制和解調(diào)的數(shù)字信號(hào)有多種,包括2ASK、2FSK、2PSK等,文中介紹了2FSK信號(hào)的調(diào)制與解調(diào),以及該信號(hào)的功率譜。最后提
    發(fā)表于 03-23 11:17 ?400次下載
    <b class='flag-5'>FPGA</b>實(shí)現(xiàn)2<b class='flag-5'>FSK</b>數(shù)字信號(hào)<b class='flag-5'>調(diào)制</b>解調(diào)

    基于MATLAB的simulink仿真2Fsk調(diào)制解調(diào)

    基于MATLAB的simulink仿真2Fsk調(diào)制解調(diào)
    發(fā)表于 11-12 10:36 ?33次下載

    一文看懂MSK調(diào)制FSK調(diào)制的區(qū)別和聯(lián)系

    本文開始闡述了MSK調(diào)制的基本原理,其次介紹了FSK調(diào)制的基本原理,最后介紹了MSK調(diào)制FSK調(diào)制
    的頭像 發(fā)表于 04-16 08:44 ?8.1w次閱讀
    一文看懂MSK<b class='flag-5'>調(diào)制</b>與<b class='flag-5'>FSK</b><b class='flag-5'>調(diào)制</b>的區(qū)別和聯(lián)系

    FSK信號(hào)的調(diào)制原理 FSK調(diào)制信號(hào)的FPGA實(shí)現(xiàn)

    1、FSK信號(hào)的調(diào)制原理 數(shù)字頻率調(diào)制是利用載波的頻率傳輸信息的一種調(diào)制方式,FSK是在ASK之后出現(xiàn)的一種
    的頭像 發(fā)表于 09-28 15:01 ?6.4w次閱讀
    <b class='flag-5'>FSK</b>信號(hào)的<b class='flag-5'>調(diào)制</b>原理 <b class='flag-5'>FSK</b><b class='flag-5'>調(diào)制</b>信號(hào)的<b class='flag-5'>FPGA</b>實(shí)現(xiàn)

    FSK調(diào)制解調(diào)方法簡析

    FSK通信系統(tǒng)主要由基帶數(shù)據(jù)生成模塊(pcm.v)、FSK調(diào)制模塊(fsk_mod.v) 、FSK解調(diào)模塊(
    的頭像 發(fā)表于 03-31 09:07 ?5017次閱讀

    fsk調(diào)制解調(diào)原理 Fsk調(diào)制體制的主要優(yōu)點(diǎn)

    FSK調(diào)制和解調(diào)是一種常用的調(diào)制解調(diào)技術(shù),其中FSK代表頻移鍵控。在FSK
    的頭像 發(fā)表于 02-03 14:28 ?3716次閱讀
    RM新时代网站-首页