$30 off During Our Annual Pro Sale. View Details »

FM放送とマルチパスを適応フィルタで極めてみた / Solving multipath distortion of FM broadcast by adaptive filters

FM放送とマルチパスを適応フィルタで極めてみた / Solving multipath distortion of FM broadcast by adaptive filters

さくらの夕べ 研究所ナイト 2020年1月16日 発表原稿

Kenji Rikitake

January 16, 2020
Tweet

More Decks by Kenji Rikitake

Other Decks in Technology

Transcript

  1. FM์ૹͱϚϧνύεΛ
    దԠϑΟϧλͰۃΊͯΈͨ
    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 1

    View Slide

  2. Kenji Rikitake
    Γ͖͚ͨ ͚Μ͡
    ྗ෢ ݈࣍
    16-JAN-2020
    ͘͞Βͷ༦΂ ݚڀॴφΠτ
    Sakura Internet Fukuoka Office
    Fukuoka City, Fukuoka, Japan
    @jj1bdx
    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 2

    View Slide

  3. ٕज़࢜ʢ৘ใ޻ֶ෦໳ʣ
    ྗ෢݈ٕ࣍ज़࢜ࣄ຿ॴ ॴ௕
    ϖύϘݚڀॴ ٬һݚڀһ
    ΞϚνϡΞແઢྺ 44೥
    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 3

    View Slide

  4. FM์ૹ͸ϚϧνύεׯবͰԻ͕Ԛ͘ͳΔ
    • ෳ਺ܦ࿏ͷ൓ࣹ೾͕߹੒͞Εͯ೾ܗ͕ཚΕΔ
    • ৼ෯Ұఆͷ͸͕ͣৼ෯͕มԽ͢Δ
    • ৼ෯ͷมԽ͸ଈࠁҐ૬ͷ࿪Έ
    • Ґ૬͕࿪Ήͱͱͯ΋ෆշͳԻ͕͢Δ
    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 4

    View Slide

  5. Kenji Rikitake / Sakura Lab Night 16-JAN-2020 5

    View Slide

  6. ΍ͬͯ͸͍͚ͳ͍͜ͱ
    ৼ෯Ұఆʹڧ੍ͯ͠΋࿪Έ͸ফ͑ͳ͍!
    Ϧϛολ͸ແҙຯ
    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 6

    View Slide

  7. ݪཧʹ஧࣮ʹߟ͑Δ
    ෳ਺ͷ஗Ԇ৴߸͕ׯব͍ͯ͠ΔͷͰ͋Ε͹ɺ
    ͦͷׯবͷٯԋࢉΛߦͬͯऔΓআ͘
    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 7

    View Slide

  8. Kenji Rikitake / Sakura Lab Night 16-JAN-2020 8

    View Slide

  9. Kenji Rikitake / Sakura Lab Night 16-JAN-2020 9

    View Slide

  10. ϚϧνύεׯবҎલͷঢ়ଶʹ໭͢ʹ͸
    • ஗ԆͱՃࢉ͸FIRϑΟϧλͰ࣮ݱͰ͖Δ
    • ൓ࣹ೾ͷٯԋࢉΛ΍Ε͹Α͍
    • LMS๏ͰదԠϑΟϧλ܎਺Λܾఆ
    • ܎਺ͷܾఆ৚݅: ৼ෯Ұఆʹ໭͢
    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 10

    View Slide

  11. దԠϑΟϧλͷ࣮૷ྫ
    1980೥୅ʹ࿦จൃද 1
    ྛً඙ࢯʹΑΔFMDDC-3
    ྗ෢ʹΑΔairspy-fmradion
    1 ๬݄ ޹ࢤ, Ӌௗ ޫढ़, దԠσΟδλϧϑΟϧλʹΑΔFMϚϧνύεͻͣΈࣗಈআڈͷҰํࣜ, ςϨϏδϣϯֶձࢽ,
    1985, 39 ר, 3 ߸, p. 228-234, ެ։೔ 2011/03/14, Online ISSN 1884-9652, Print ISSN 0386-6831, h>ps:/
    /doi.org/
    10.3169/itej1978.39.228, h>ps:/
    /www.jstage.jst.go.jp/arHcle/itej1978/39/3/39_3_228/_arHcle/-char/ja
    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 11

    View Slide

  12. దԠϑΟϧλΛVOLKͰ࠷దԽ
    • ίϯύΠϥʹ೚ͤΔͱݶք͕͋Δ
    • VOLK: SIMD໋ྩద༻ϥΠϒϥϦ h-p:/
    /libvolk.org/
    • ϧʔϓͰॲཧͰ͖Δ΋ͷΛSIMDʹ͢Δ
    • ੵ࿨ԋࢉ͸6ഒͷߴ଎Խ2
    2 Kaby Lake, volk_32fc_x2_dot_prod_32fc(), generic -> u_avx_fma
    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 12

    View Slide

  13. #if !VOLK
    for (unsigned int i = 0;
    i < m_filter_order; i++) {
    output += m_state[i] * m_coeff[i];
    }
    #else // VOLK
    volk_32fc_x2_dot_prod_32fc(&output,
    m_state.data(), m_coeff.data(),
    m_filter_order);
    #endif // VOLK
    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 13

    View Slide

  14. ྗ෢ͷ࣮૷: airspy-fmradion
    Airspy HF+΍RTL-SDRͱMac΍Raspberry Piͷ૊Έ߹ΘͤͰಈ࡞
    ߴڃFMνϡʔφʹඖఢ
    FMԕڑ཭ड৴ʹ΋ޮՌ
    ઈࢍ։ൃத
    h"ps:/
    /github.com/jj1bdx/airspy-fmradion
    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 14

    View Slide

  15. Thank you
    Graphics credits:
    • Audacity simula.on: Kenji Rikitake
    • Mul.path impulse response: I, Cantalamessa, h>ps:/
    /
    commons.wikimedia.org/wiki/
    File:Mul.path_impulse_response.png from Wikimedia Commons,
    licensed CC BY 2.5
    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 15

    View Slide