![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Frequency shifter using Weaver modulator for ST Nucleo F401RE.
Dependencies: UITDSP_ADDA mbed
Diff: main.cpp
- Revision:
- 1:013f4e5762b1
- Parent:
- 0:c17cb8371b55
diff -r c17cb8371b55 -r 013f4e5762b1 main.cpp --- 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);