Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

  2. Kenji Rikitake Γ͖͚ͨ ͚Μ͡ ྗ෢ ݈࣍ 16-JAN-2020 ͘͞Βͷ༦΂ ݚڀॴφΠτ Sakura

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

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

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

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

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

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

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

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

    Kenji Rikitake / Sakura Lab Night 16-JAN-2020 10
  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
  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
  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
  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
  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