Frequency shifter using Weaver modulator for ST Nucleo F401RE.

Dependencies:   UITDSP_ADDA mbed

Revision:
1:013f4e5762b1
Parent:
0:c17cb8371b55
--- a/main.cpp	Sat Jul 25 07:56:36 2015 +0000
+++ b/main.cpp	Sat Jul 25 09:03:13 2015 +0000
@@ -21,17 +21,18 @@
 DAC_MCP4922 myDac_;             // DAC を使うための設定
 DigitalIn sw_(D2, PullDown);    // ロータリ・ディップ・スイッチ用
 
+// 入力帯域制限用帯域通過フィルタ
+IIR_Cascade<ORDER_BPF_> bpf_(ckBP_, g0Bpf_);
+
 // Weaver 変調器で使う低域通過フィルタ 
-IIR_Cascade<ORDER_> lpfC_(ck_, g0Lpf_);
-IIR_Cascade<ORDER_> lpfS_(ck_, g0Lpf_);
-
-// 直流分除去フィルタ
-Biquad DcCut_(c1_);
+IIR_Cascade<ORDER_LPF_> lpfC_(ckLP_, g0Lpf_);
+IIR_Cascade<ORDER_LPF_> lpfS_(ckLP_, g0Lpf_);
 
 int main()
 {
     myDac_.ScfClockTim3(420000);    // 出力の LPF の遮断周波数を 4.2 kHz に設定
 
+    bpf_.Clear();
     lpfC_.Clear();
     lpfS_.Clear();
 
@@ -50,7 +51,7 @@
         float xn = adc_.Read();     // A5 からの入力信号を読み込む
         //-----------------------------------------------
 
-        xn = DcCut_.Execute(xn);    // DC 成分除去
+        xn = bpf_.Execute(xn);    // 帯域制限
         
         float mpyC = xn*cosf(phi1);
         float mpyS = xn*sinf(phi1);