在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用I/Q信號設計穩健的FSK解碼器

科技觀察員 ? 來源:allaboutcircuits ? 作者:羅伯特·凱姆 ? 2022-05-07 16:18 ? 次閱讀

一種改進的算法,結合正交調制,可以實現不受相位失準影響的FSK解碼。

FSK 符號的頻率可以通過檢查將接收信號乘以參考信號產生的波形的直流偏移來識別。這是一種簡單有效的技術,可以在理想化的數學環境中完美運行,但我們在上一篇文章中看到它對相位失準的魯棒性不強。

當使用非相干接收機架構時,無法在發射機和接收機之間建立固定的相位關系。這意味著數據包開頭的階段將是不可預測的。僅此一項不會影響我們的解碼器算法,因為我們可以使用訓練序列來識別解調基帶信號的相位,然后相應地修改參考信號。(但是,我對這種方法沒有經驗,也不知道它在現實生活中的效果如何。)

但是,當我們考慮短期相位變化時,情況會變得更糟,因為這些變化會導致接收信號的相位在一個數據包的空間內偏離參考信號的相位。因此,數據包最初可能具有相位對齊,但惡化的相位關系會產生誤碼,導致整個數據包被丟棄。

結合正交解調

我在上一篇文章的最后指出了這個問題的解決方案。我們可以使用正交解調來產生 I 和 Q 基帶信號,使 FSK 解碼算法對相位失準不敏感。

pYYBAGJ2K1yAUa_hAABQPkUz9kU111.jpg

這是對系統非常有益的修改,但這意味著我們需要解調電路中的附加組件(生成 I/Q 信號而不是單個基帶信號)和數字信號處理器中的附加時鐘周期(因為數學必須是對兩個信號而不是一個信號執行)。

第一個問題是相當次要的:正交解調現在非常普遍,我認為在大多數情況下可以采用它而不會顯著增加成本、復雜性或 PCB 尺寸。第二個問題的嚴重性取決于系統的特性。如果您擁有強大的處理器和低數據速率,那么當您結合額外的數學運算時,您可能完全沒有問題。但是,如果您選擇了低成本、低功耗的處理器并且您正在嘗試最大化數據速率,那么所有新的計算都可能使解碼算法無法在下一個數據包到達之前完成對一個數據包的處理。

Scilab 中的 I/Q FSK 解碼

讓我們從建立二進制 0 頻率、二進制 1 頻率和每個符號的樣本數開始,然后我們將根據每個符號的樣本數創建索引變量 (n)。

零頻率 = 10e3;
一個頻率 = 30e3;
采樣頻率 = 300e3;
Samples_per_Symbol = 采樣頻率/零頻率;
n = 0:(Samples_per_Symbol-1);

生成 I/Q 信號

現在我們可以為這兩個頻率生成 I 和 Q 符號。按照慣例,I(同相)信號是余弦波形,Q(正交)信號是正弦波形。

Symbol_Zero_I = cos(2*%pi*n / (SamplingFrequency/ZeroFrequency));
Symbol_One_I = cos(2*%pi*n / (SamplingFrequency/OneFrequency));
Symbol_Zero_Q = sin(2*%pi*n / (SamplingFrequency/ZeroFrequency));
Symbol_One_Q = sin(2*%pi*n / (SamplingFrequency/OneFrequency));

子圖(2,2,1)
情節(n,Symbol_Zero_I)
子圖(2,2,2)
情節(n,Symbol_One_I)
子圖(2,2,3)
情節(n,Symbol_Zero_Q)
子圖(2,2,4)
情節(n,Symbol_One_Q)

f = gcf();
對于 k=1:4
  > f.children(k).font_size = 3;
  > f.children(k).children.children.thickness = 3;
  > 結束

poYBAGJ2K16AGzAjAAB5-2WnkUQ588.JPG

(最后的 for 循環會更改每個子圖的刻度線標簽的大小和每條線的粗細。您可以通過圖形窗口中內置的圖形界面執行相同的操作;使用 GUI 更直觀,但變為一段時間后很累。)

我們的目標是探索相位失調的 I/Q 解決方案,因此我們需要符號的相移版本。如上一篇文章所述,接收信號和參考信號之間的最壞情況相位差為 90°,因此我們將生成相位為 45°(即完美對齊和最壞情況對齊的中間)和 90° 的符號.

Symbol_Zero_I_45deg = cos(%pi/4 + 2*%pi*n / (SamplingFrequency/ZeroFrequency));
Symbol_One_I_45deg = cos(%pi/4 + 2*%pi*n / (SamplingFrequency/OneFrequency));
Symbol_Zero_Q_45deg = sin(%pi/4 + 2*%pi*n / (SamplingFrequency/ZeroFrequency));
Symbol_One_Q_45deg = sin(%pi/4 + 2*%pi*n / (SamplingFrequency/OneFrequency));
Symbol_Zero_I_90deg = cos(%pi/2 + 2*%pi*n / (SamplingFrequency/ZeroFrequency));
Symbol_One_I_90deg = cos(%pi/2 + 2*%pi*n / (SamplingFrequency/OneFrequency));
Symbol_Zero_Q_90deg = sin(%pi/2 + 2*%pi*n / (SamplingFrequency/ZeroFrequency));
Symbol_One_Q_90deg = sin(%pi/2 + 2*%pi*n / (SamplingFrequency/OneFrequency));

現在讓我們為二進制序列 0101 創建三組 I 和 Q 基帶信號。

Baseband_I_aligned = [Symbol_Zero_I Symbol_One_I Symbol_Zero_I Symbol_One_I];
Baseband_Q_aligned = [Symbol_Zero_Q Symbol_One_Q Symbol_Zero_Q Symbol_One_Q];
Baseband_I_45deg = [Symbol_Zero_I_45deg Symbol_One_I_45deg Symbol_Zero_I_45deg Symbol_One_I_45deg];
Baseband_Q_45deg = [Symbol_Zero_Q_45deg Symbol_One_Q_45deg Symbol_Zero_Q_45deg Symbol_One_Q_45deg];
Baseband_I_90deg = [Symbol_Zero_I_90deg Symbol_One_I_90deg Symbol_Zero_I_90deg Symbol_One_I_90deg];
Baseband_Q_90deg = [Symbol_Zero_Q_90deg Symbol_One_Q_90deg Symbol_Zero_Q_90deg Symbol_One_Q_90deg];

子圖(3,2,1)
情節(Baseband_I_aligned)
子圖(3,2,2)
情節(Baseband_Q_aligned)
子圖(3,2,3)
繪圖(Baseband_I_45deg)
子圖(3,2,4)
繪圖(Baseband_Q_45deg)
子圖(3,2,5)
情節(基帶_I_90度)
子圖(3,2,6)
繪圖(Baseband_Q_90deg)

f = gcf();
對于 k=1:6
  > f.children(k).font_size = 3;

> 結束
pYYBAGJ2K1-AICDNAAD7kGbtYRg859.JPG

I/Q 乘法

我們現在可以將相位對齊和相移的 I/Q 基帶信號乘以參考符號。盡量不要被一長串的計算分心;我們所做的只是將 I 和 Q 波形首先乘以二進制 0 符號的等長數組,然后乘以二進制 1 符號的等長數組。但是,我們必須這樣做 3 次,因為我們想要比較相位對齊版本、相位 = 45° 版本和相位 = 90° 版本的結果。這并不反映將由數字信號處理器執行的實現——在實際應用中將只有一個 I/Q 基帶信號。

請注意,這里我使用 I 符號作為參考符號,但我也可以使用 Q 符號。實際上,我可以使用具有任何相位值的參考符號:通過將 I/Q 技術結合到此解碼算法中,我們使該過程對接收符號和參考符號之間的任何類型的相位差異都不敏感。

DecodeZero_I_aligned = Baseband_I_aligned .* [Symbol_Zero_I Symbol_Zero_I Symbol_Zero_I Symbol_Zero_I];
DecodeZero_Q_aligned = Baseband_Q_aligned .* [Symbol_Zero_I Symbol_Zero_I Symbol_Zero_I Symbol_Zero_I];
DecodeOne_I_aligned = Baseband_I_aligned .* [Symbol_One_I Symbol_One_I Symbol_One_I Symbol_One_I];
DecodeOne_Q_aligned = Baseband_Q_aligned .* [Symbol_One_I Symbol_One_I Symbol_One_I Symbol_One_I];

DecodeZero_I_45deg = Baseband_I_45deg .* [Symbol_Zero_I Symbol_Zero_I Symbol_Zero_I Symbol_Zero_I];
DecodeZero_Q_45deg = Baseband_Q_45deg .* [Symbol_Zero_I Symbol_Zero_I Symbol_Zero_I Symbol_Zero_I];
DecodeOne_I_45deg = Baseband_I_45deg .* [Symbol_One_I Symbol_One_I Symbol_One_I Symbol_One_I];
DecodeOne_Q_45deg = Baseband_Q_45deg .* [Symbol_One_I Symbol_One_I Symbol_One_I Symbol_One_I];

DecodeZero_I_90deg = Baseband_I_90deg .* [Symbol_Zero_I Symbol_Zero_I Symbol_Zero_I Symbol_Zero_I];
DecodeZero_Q_90deg = Baseband_Q_90deg .* [Symbol_Zero_I Symbol_Zero_I Symbol_Zero_I Symbol_Zero_I];
DecodeOne_I_90deg = Baseband_I_90deg .* [Symbol_One_I Symbol_One_I Symbol_One_I Symbol_One_I];
DecodeOne_Q_90deg = Baseband_Q_90deg .* [Symbol_One_I Symbol_One_I Symbol_One_I Symbol_One_I];

下圖顯示了乘法產生的波形。

子圖(2,2,1)
情節(DecodeZero_I_aligned)
子圖(2,2,2)
情節(DecodeZero_Q_aligned)
子圖(2,2,3)
情節(DecodeOne_I_aligned)
子圖(2,2,4)
情節(DecodeOne_Q_aligned)

poYBAGJ2K2CARPZJAACx1M0c7wc524.JPG

子圖(2,2,1)

情節(DecodeZero_I_45deg)

子圖(2,2,2)

情節(DecodeZero_Q_45deg)

子圖(2,2,3)

情節(DecodeOne_I_45deg)

子圖(2,2,4)

情節(DecodeOne_Q_45deg)

poYBAGJ2K2GAIKSKAAClpmRqdNI555.JPG

子圖(2,2,1)

情節(DecodeZero_I_90deg)

子圖(2,2,2)

情節(DecodeZero_Q_90deg)

子圖(2,2,3)

情節(DecodeOne_I_90deg)

子圖(2,2,4)

情節(DecodeOne_Q_90deg)

pYYBAGJ2K2KANJwvAAC0gDgZY0Q349.JPG

結論

如果您仔細思考最后一組圖,我想您將開始了解 I/Q 處理在 FSK 解碼上下文中的好處。由于輸入信號的相位與參考符號的相位失去對齊,因此作為接收頻率與參考頻率之間相似性的指標,乘法波形的 DC 偏移變得不可靠。然而,90°相移基帶信號的存在彌補了這種影響,因為當一個基帶信號的相位差接近±90°(最壞情況)時,另一個基帶信號的相位接近0°或 180°(最佳情況)。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 解碼器
    +關注

    關注

    9

    文章

    1164

    瀏覽量

    41764
  • FSK
    FSK
    +關注

    關注

    14

    文章

    115

    瀏覽量

    59010
  • 信號設計
    +關注

    關注

    0

    文章

    5

    瀏覽量

    5955
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    具有外部穿孔的Viterbi解碼器如何解碼呢?

    根據維特比解碼器數據表,硬編碼不能進行擦除(外部穿孔)(即僅對軟編碼有效)。如果我有硬輸入,我將如何解碼呢?我已經在解碼器之前解析了我的數據。我現在需要知道的是,如果我有一個硬輸入,我將如何使我
    發表于 03-14 10:19

    ESS的ES9311Q 音響、功放、解碼器

    \音響系統ES9026PRO 解碼器ES9028Q2M 手機,手持播放,解碼器ES9028PRO 音響、功放、解碼器ES9038
    發表于 11-27 13:49

    怎么理解真正的編碼解碼器?

      在進入關于編碼解碼器的現實之前,讓我們對復用進行簡要的思考。通常我們會在需要將一些輸入信號一次一個地加載到一個單獨負載的應用程序中。選擇輸入信號中的一個輸入
    發表于 09-01 17:48

    來電解碼器及其在客戶關系管理中的應用

    介紹了一種基于單片機AT89C2051和FSK解碼芯片HT9032C實現的來電解碼器,說明了設計的原理和解碼器的結構。該解碼器可應用于客戶關
    發表于 08-03 11:09 ?20次下載

    CML推出DTMF編解碼器/FSK調制解調復合IC

        CML Microcircuits日前推出一款多標準DTMF編解碼器/FSK調制解調IC CMX865,可用于各種采用移動電話的遙感勘測系統。該器件
    發表于 03-13 13:01 ?924次閱讀

    常用DTMF/FSK解碼器集成電路

    常用DTMF/FSK解碼器集成電路
    發表于 06-30 19:19 ?3520次閱讀

    什么是音頻編解碼器?

    什么是音頻編解碼器? 編解碼器(編碼/解碼器)轉換成模擬信號的數字碼流,另一個相同的編解碼器
    發表于 05-03 23:48 ?4157次閱讀

    立體聲電視解碼器

    立體聲電視解碼器Ⅰ   Q1是音頻
    發表于 10-08 11:39 ?1203次閱讀
    立體聲電視<b class='flag-5'>解碼器</b>Ⅰ

    dmx512解碼器怎么接線?dmx512解碼器接線圖

    dmx512解碼器,是一款數碼影音解碼器。這款DMX512解碼器,把DMX512/1990標準數碼控制信號轉換成PWM控制信號,使不具備
    發表于 12-06 17:02 ?9w次閱讀
    dmx512<b class='flag-5'>解碼器</b>怎么接線?dmx512<b class='flag-5'>解碼器</b>接線圖

    高清解碼器的作用

    高清解碼器(xunwei)的主要作用在于接收前端高清編碼圖像或網絡攝像頭信號解碼,然后通過自身的各種視頻輸出接口,如HDMI、DVI、SDI、VGA、BNC輸出顯示到顯示設備上。編碼
    的頭像 發表于 12-10 15:47 ?1.4w次閱讀
    高清<b class='flag-5'>解碼器</b>的作用

    ADP5585:鍵盤解碼器I/O擴展數據表

    ADP5585:鍵盤解碼器I/O擴展數據表
    發表于 05-27 14:41 ?2次下載
    ADP5585:鍵盤<b class='flag-5'>解碼器</b>和<b class='flag-5'>I</b>/O擴展數據表

    ADP5589:鍵盤解碼器I/O擴展數據表

    ADP5589:鍵盤解碼器I/O擴展數據表
    發表于 05-27 20:18 ?0次下載
    ADP5589:鍵盤<b class='flag-5'>解碼器</b>和<b class='flag-5'>I</b>/O擴展數據表

    1-of-4 解碼器/解復用器-HEF4555B_Q100

    1-of-4 解碼器/解復用器-HEF4555B_Q100
    發表于 02-09 21:56 ?0次下載
    1-of-4 <b class='flag-5'>解碼器</b>/解復用器-HEF4555B_<b class='flag-5'>Q</b>100

    光柵解碼器損壞的表現有哪些

    光柵解碼器是一種用于將光信號轉換為電信號的設備,廣泛應用于光學存儲、光學測量、光學通信等領域。當光柵解碼器損壞時,可能會出現多種異常表現。以下是一些可能的表現,以及相應的分析:
    的頭像 發表于 09-23 17:57 ?1176次閱讀

    遙控解碼器怎么使用

    遙控解碼器是一種用于解碼和復制遙控信號的設備,它可以幫助用戶在遙控丟失或損壞的情況下,重新
    的頭像 發表于 09-30 14:23 ?2321次閱讀
    主站蜘蛛池模板: 国内精品视频免费观看 | 久久天天躁狠狠躁夜夜2020一 | 黄色成人一级片 | 特黄一级毛片 | 瑟瑟久久| 永久免费在线看 | 色多多免费观看 | 激情五月开心网 | 国产亚洲欧美一区二区 | 亚洲美女视频一区二区三区 | 九九热在线视频观看 | 午夜高清在线观看免费6 | 性香港xxxxx免费视频播放 | 欧美午夜视频一区二区三区 | 日韩欧免费一区二区三区 | 免费的三及片 | 亚洲爱v| 亚洲高清一区二区三区四区 | 性色在线播放 | 一色屋成人免费精品网站 | 午夜剧场官网 | 亚洲成人黄色网址 | 亚洲精品久久婷婷爱久久婷婷 | 天天噜天天干 | 2019天天操 | 在线播放交视频 | 99久久99久久久99精品齐 | 国产黄色a三级三级三级 | 国产国产人免费人成免费视频 | 最新人妖shemaletube人妖 最新日本免费一区二区三区中文 | 亚洲午夜精品久久久久久人妖 | 夜夜夜夜操 | 日日噜噜夜夜狠狠久久丁香 | www.淫| 久久精品国产免费高清 | 在线国产播放 | 国模私拍在线观看 | 三级网址在线 | 国产激情视频一区二区三区 | 麻生希痴汉电车avop130 | 国产精品天天看大片特色视频 |