最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

Scilab 中的數(shù)字信號處理:如何解碼 FSK 信號

出處:維庫電子市場網(wǎng) 發(fā)布于:2023-04-26 16:10:14

了解從解調(diào)頻移鍵控基帶信號中提取原始數(shù)字數(shù)據(jù)的 DSP 技術(shù)。

相關(guān)信息

  • 數(shù)字調(diào)制:幅度和頻率(來自AAC的RF教材第4章)
  • 如何解調(diào)數(shù)字相位調(diào)制

以前關(guān)于基于 Scilab 的數(shù)字信號處理的文章

  • Scilab 正弦信號處理簡介
  • 如何使用 Scilab 執(zhí)行頻域分析
  • 如何使用 Scilab 分析調(diào)幅射頻信號
  • 如何使用 Scilab 分析調(diào)頻射頻信號
  • 如何對數(shù)字化音頻信號進行調(diào)頻
  • Scilab 中的數(shù)字信號處理:如何使用音頻處理濾波器去除錄音中的噪聲
  • Scilab 中的音頻處理:如何實現(xiàn)頻譜減法

用于在正弦波形中對二進制數(shù)據(jù)進行編碼的方法之一稱為頻移鍵控 (FSK)。這是一個簡單的概念:一個頻率代表零,不同的頻率代表一。例如:

 

 

低頻 FSK 信號(例如,幾十千赫茲)可以轉(zhuǎn)換為更高頻率,然后傳輸。這是創(chuàng)建實現(xiàn)數(shù)字數(shù)據(jù)無線傳輸?shù)?RF 系統(tǒng)的一種有效且相當直接的方法——假設(shè)我們有一個接收器可以將所有這些正弦波形轉(zhuǎn)換回 1 和 0。

從傳輸?shù)?FSK 信號中提取數(shù)字數(shù)據(jù)的過程可分為兩個一般任務(wù):首先,將高頻接收信號轉(zhuǎn)換為低頻基帶信號。我將此稱為“解調(diào)”。其次,必須將基帶波形轉(zhuǎn)換為 1 和 0。我不認為將這第二步稱為“解調(diào)”是不正確的,但為了避免混淆,當我談?wù)搶⒌皖l模擬波形轉(zhuǎn)換為數(shù)字位時,我將始終使用術(shù)語“解碼”。

 

軟件解碼

對于數(shù)據(jù)速率適中的系統(tǒng),將 FSK 基帶信號數(shù)字化并在軟件中進行解碼是完全可行的。(您可以查看我們對軟件定義無線電的介紹, 了解有關(guān)在軟件中實現(xiàn)重要信號處理任務(wù)的射頻系統(tǒng)的更多信息。)在我看來,這是一種極好的方法,因為它允許接收器受益于數(shù)字信號處理,它還提供了一種在測試過程中記錄和分析接收信號的便捷方式。

在本文中,我們將使用 Scilab 對 FSK 信號進行解碼,但所涉及的計算并不復雜,并且可以很容易地在數(shù)字信號處理器中以 C 代碼的形式實現(xiàn)。

要事:數(shù)學

我們解碼 FSK 的技術(shù)基于正弦信號的乘積。考慮以下三角恒等式:

 

sin(x)?sin(y)=12(cos(xy)?cos(x+y))sin?(x)?sin?(y)=12(cos?(xy)?cos?(x+y))

cos?(x)?cos?(y)=12(cos?(xy)+cos?(x+y))

 

讓我們使用 ω 1 t 和 ω 2 t 代替 x 和 y,使其更符合工程界。

 

sin?(ω1t)?sin?(ω2t)=12(cos?((ω1?ω2)t)?cos?((ω1+ω2)t))

cos?(ω1t)?cos?(ω2t)=12(cos?((ω1?ω2)t)+cos?((ω1+ω2)t))

 

(請注意,我們忽略了相位差的影響;在本文中,我們假設(shè)所有信號都具有相同的相位。)我們可以將兩個正弦波或兩個余弦波相乘,結(jié)果由兩個余弦波組成,頻率為等于兩個原始頻率的和與差。這里的關(guān)鍵觀察是,如果兩個輸入波具有非常相似的頻率,則 cos((ω 1 –ω 2 )t) 波形將具有非常低的頻率。在理想化的數(shù)學領(lǐng)域,我們可以輸入兩個相同頻率和 cos((ω 1 –ω 2)t) 變?yōu)?cos(0t) = cos(0) = 1。因此,如果我們將兩個相同頻率的正弦波或兩個余弦波相乘,得到的波形將具有相對較大的直流偏移。

在解碼 FSK 的上下文中,我們可以這樣說:即使頻率相似而不是相同,仍然會有很大的直流偏移,因為 cos((ω 1 –ω 2 )t)波形將從1開始并且相對于一位周期下降得非常緩慢位周期是編碼一個數(shù)字位所需的時間量;在上圖中,位周期對應(yīng)二進制 0 頻率的一個周期(或二進制 1 頻率的三個周期)。一個比特周期中包含的模擬波形部分稱為符號。在本文中,我們使用二進制(即雙頻)FSK,因此一個符號對應(yīng)一個數(shù)字位。可以使用兩個以上的頻率,這樣一個符號可以傳輸多個比特。

逐步解碼 FSK

我們現(xiàn)在有了制定 FSK 解碼程序所需的信息:

  1. 將接收到的基帶信號數(shù)字化。
  2. 識別位周期的開始。這可以在訓練序列的幫助下完成;有關(guān)更多信息,請單擊此處并向下滾動到“數(shù)據(jù)包剖析”部分中的“序言”標題。對于本文,我們假設(shè)數(shù)據(jù)被編碼為正弦波(如上圖所示)而不是余弦波。
  3. 將每個符號乘以二進制 0 頻率的正弦波和二進制 1 頻率的正弦波。
  4. 計算每個符號的直流偏移。
  5. 選擇一個閾值并根據(jù)符號的直流偏移是高于還是低于閾值來決定二進制 0 和二進制 1。

Scilab 實施

我們將從以二進制 0 頻率 (10 kHz) 和二進制 1 頻率 (30 kHz) 生成單符號正弦波形開始。

 

零頻 = 10e3;
OneFrequency = 30e3;
采樣頻率 = 300e3;
Samples_per_Symbol = 采樣頻率/零頻率;
n = 0:(Samples_per_Symbol-1);
Symbol_Zero = sin(2*%pi*n / (SamplingFrequency/ZeroFrequency));
Symbol_One = sin(2*%pi*n / (SamplingFrequency/OneFrequency));
繪圖(n,Symbol_Zero)
繪圖(n,Symbol_One)

 

現(xiàn)在讓我們創(chuàng)建接收到的基帶信號。我們可以通過連接Symbol_ZeroSymbol_One數(shù)組來做到這一點;我們將使用序列 0101:

 

ReceivedSignal = [Symbol_Zero Symbol_One Symbol_Zero Symbol_One];
情節(jié)(接收信號)

 

接下來,我們將接收信號中的每個符號乘以二進制 0 符號的波形和二進制 1 符號的波形。我們根據(jù)接收信號中的符號數(shù)連接Symbol_ZeroSymbol_One數(shù)組,然后使用逐元素乘法來完成此步驟;有關(guān) Scilab(或 MATLAB)中逐元素乘法的更多信息,請參閱本文。

 

Decoding_Zero = ReceivedSignal .* [Symbol_Zero Symbol_Zero Symbol_Zero Symbol_Zero];
Decoding_One = ReceivedSignal .* [Symbol_One Symbol_One Symbol_One Symbol_One];
情節(jié)(解碼_零)

 

情節(jié)(解碼_一) 

 

不要被這些相當復雜的波形分心;我們感興趣的只是直流偏移,用數(shù)學術(shù)語來說就是平均值。如果我們要顯示每個交易品種對應(yīng)的DC偏移量,我們首先需要生成一些新的數(shù)組:

 

對于 k=1:(length(Decoding_Zero)/Samples_per_Symbol)
  > SymbolOffsets_Zero(((k-1)*Samples_per_Symbol)+1:k*(Samples_per_Symbol)) = mean(Decoding_Zero(((k-1)*Samples_per_Symbol)+1:k*(Samples_per_Symbol)));
  > 結(jié)束  
對于 k=1:(length(Decoding_One)/Samples_per_Symbol)
  > SymbolOffsets_One(((k-1)*Samples_per_Symbol)+1:k*(Samples_per_Symbol)) = mean(解碼_One(((k-1)*Samples_per_Symbol)+1:k*(Samples_per_Symbol)));
  > 結(jié)束

 

您可能需要稍微思考一下這些命令才能準確理解我在做什么,但基本思想如下:for 循環(huán)用于通過 Decoding_Zero 和 Decoding_One 數(shù)組處理一個符號SymbolOffsets_ZeroSymbolOffsets_One數(shù)組中,一個符號對應(yīng)的所有數(shù)據(jù)點都填充了Decoding_ZeroDecoding_One數(shù)組中相關(guān)符號的均值。每個符號有 30 個樣本,因此個命令對數(shù)組值 1 到 30 進行操作,下一個命令對數(shù)組值 31 到 60 進行操作,依此類推。以下是結(jié)果:

 

情節(jié)(SymbolOffsets_Zero)

 

情節(jié)(SymbolOffsets_One)

 

SymbolOffsets_Zero數(shù)組顯示接收到的基帶符號與二進制 0 頻率相乘產(chǎn)生的 DC 偏移,SymbolOffsets_One數(shù)組顯示接收到的基帶符號與二進制 1 頻率相乘產(chǎn)生的 DC 偏移。我們知道,將兩個相似的頻率相乘會產(chǎn)生比較大的直流偏移。因此, SymbolOffsets_Zero數(shù)組中的值 0.5表示接收到的符號是二進制 0,而SymbolOffsets_One數(shù)組中的值 0.5表示接收到的符號是二進制 1。

 

結(jié)論

本文介紹了一種解碼 FSK 的數(shù)學方法。該過程是在 Scilab 中實現(xiàn)的,但是將 Scilab 命令轉(zhuǎn)換為編程語言(例如 C)并不困難。我們將在下一篇文章中繼續(xù)使用 FSK 解碼。

關(guān)鍵詞:RF 系統(tǒng)  

版權(quán)與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!