簡體   English   中英

FSK 調制 matlab 代碼未按預期工作

[英]FSK modulation matlab code is not working as expected

這是我的代碼,用於生成頻率為 30 Hz 的 TTL 波並使用 FSK 和載波頻率 400 對其進行調制

f=30;
T = 1/f; 
t = linspace(0, T*10, 1000);
y = (1/2)*square(t/T*2*pi)+(1/2);
plot(t, y);
hold on;
fc=400;
df=20;
y_m = cos(2.*pi.*(fc+(2.*y).*df).*t);
plot(t,y_m);
hold off;

這是結果: 結果

首先,當 TTL 從 0 變為 1 或反之亦然時,我會出現相位不連續性,第二個問題是調制信號的域在每個地方都不相同,並且會發生變化......

我該如何解決這些問題?

為了解決不連續性問題,您應該確保滿足連續相位 FSK (CPFSK) 的條件; 那就是以 rad/s 為單位的頻率偏差應該是pi/T的整數倍,它轉換為以 Hz 為單位的1/2T 如果您為Δf選擇任意值,您應該預料到不連續性。

對於非恆定幅度的第二個問題,您應該增加點數以使余弦計算足夠平滑。

clear, close
f = 30;
T = 1/f; 
t = linspace(0, T*5, 10000);
y = 1/2 * square(t/T*2*pi) + 1/2;
plot(t, y, "LineWidth", 1);
hold on;
fc = 400;
df = 20;
y_m = cos(2*pi*(fc+y*df/T) .* t);
plot(t, y_m, "LineWidth", 1);
axis tight
ylim([-1.2 1.2])
hold off

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM