Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FM放送とマルチパスを適応フィルタで極めてみた / Solving multipath distortion of FM broadcast by adaptive filters
Search
Kenji Rikitake
January 16, 2020
Technology
1
3.1k
FM放送とマルチパスを適応フィルタで極めてみた / Solving multipath distortion of FM broadcast by adaptive filters
さくらの夕べ 研究所ナイト 2020年1月16日 発表原稿
Kenji Rikitake
January 16, 2020
Tweet
Share
More Decks by Kenji Rikitake
See All by Kenji Rikitake
SDR Implementation of Analog FM Broadcast Multipath Filter
jj1bdx
0
600
インターネットとオープンな無線技術の今後 / Future of Internet and Open Radio Engineering
jj1bdx
0
1.1k
ソフトウェアラジオとC++ そしてFMエアチェックのための信号解析と数値計算にまつわるよもやま話 / Software radio and C++
jj1bdx
0
810
SDR時代のFM受信 マルチパスモニタとマルチパスフィルタ / FM broadcast reception with SDR - multipath monitor and multipath filter
jj1bdx
0
400
How I discover a working implementation of clock_nanosleep() for macOS in CPAN Time::Hires
jj1bdx
1
940
Sleeping pays / 1000eng-74th-jj1bdx
jj1bdx
1
34
The BEAM Programming Paradigm
jj1bdx
1
760
Safe randomness: theory and practice
jj1bdx
1
1.2k
ただの失業したインターネット屋は果たして独立開業できたのか? / Did the fired internet engineer finally start up his business successfully as an independent consultant?
jj1bdx
1
440
Other Decks in Technology
See All in Technology
Beginner's Guide to Partitioning vs. Sharding in Postgres | Claire Giordano | Nordic PGDay 2024
clairegiordano
0
210
JaSST_Tokyo経験発表_20240313.pdf
ktanizaki
0
190
How to Build a Strong Engineering Culture
alperhankendi
0
120
事業部を超えた 開発生産性向上に挑戦する
kentakozuka
2
180
どうやってWebサービスのページ表示速度を1/3にしたか / how-to-reduce-display-speed
pinkumohikan
2
470
スクラムマスター不在でスクラムをやるのは(とても辛いので)やめておけ! #scrumfukuoka
nulabinc
PRO
4
900
なんでもかんでもコンテナ化すればいいってもんでもないけど なんでもかんでもコンテナ化したらスッキリしました
saramune
1
160
Skaffoldを用いたGKEアプリケーションの CD(Continuous Development)
kojake_300
1
120
Combineを中心とした処理をSwift Concurrencyへ (これまでも調べた調査と向き合い)
fumiyasac0921
1
170
庁舎DX推進事例集
senryakuka
0
1.6k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
0
1.1k
滑空スポーツ講習会2023 航空安全講習会 第4回 日常整備に役立ちそうな雑情報 / JSA Safety Seminar 2023 glider maintenance
jsaseminar
0
110
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
455
32k
Why Our Code Smells
bkeepers
PRO
330
56k
Practical Orchestrator
shlominoach
180
9.6k
Gamification - CAS2011
davidbonilla
76
4.5k
Building Applications with DynamoDB
mza
88
5.5k
Designing with Data
zakiwarfel
94
4.8k
Done Done
chrislema
178
15k
How to name files
jennybc
62
91k
The Language of Interfaces
destraynor
150
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
The Cult of Friendly URLs
andyhume
72
5.6k
Principles of Awesome APIs and How to Build Them.
keavy
119
16k
Transcript
FM์ૹͱϚϧνύεΛ దԠϑΟϧλͰۃΊͯΈͨ Kenji Rikitake / Sakura Lab Night 16-JAN-2020 1
Kenji Rikitake Γ͖͚ͨ ͚Μ͡ ྗ ݈࣍ 16-JAN-2020 ͘͞Βͷ༦ ݚڀॴφΠτ Sakura
Internet Fukuoka Office Fukuoka City, Fukuoka, Japan @jj1bdx Kenji Rikitake / Sakura Lab Night 16-JAN-2020 2
ٕज़࢜ʢใֶ෦ʣ ྗ݈ٕ࣍ज़࢜ࣄॴ ॴ ϖύϘݚڀॴ ٬һݚڀһ ΞϚνϡΞແઢྺ 44 Kenji Rikitake /
Sakura Lab Night 16-JAN-2020 3
FM์ૹϚϧνύεׯবͰԻ͕Ԛ͘ͳΔ • ෳܦ࿏ͷࣹ͕߹͞Εͯܗ͕ཚΕΔ • ৼ෯Ұఆͷ͕ͣৼ෯͕มԽ͢Δ • ৼ෯ͷมԽଈࠁҐ૬ͷΈ • Ґ૬͕ΉͱͱͯෆշͳԻ͕͢Δ Kenji
Rikitake / Sakura Lab Night 16-JAN-2020 4
Kenji Rikitake / Sakura Lab Night 16-JAN-2020 5
͍͚ͬͯͳ͍͜ͱ ৼ෯Ұఆʹڧ੍ͯ͠Έফ͑ͳ͍! Ϧϛολແҙຯ Kenji Rikitake / Sakura Lab Night 16-JAN-2020
6
ݪཧʹ࣮ʹߟ͑Δ ෳͷԆ৴߸͕ׯব͍ͯ͠ΔͷͰ͋Εɺ ͦͷׯবͷٯԋࢉΛߦͬͯऔΓআ͘ Kenji Rikitake / Sakura Lab Night 16-JAN-2020
7
Kenji Rikitake / Sakura Lab Night 16-JAN-2020 8
Kenji Rikitake / Sakura Lab Night 16-JAN-2020 9
ϚϧνύεׯবҎલͷঢ়ଶʹ͢ʹ • ԆͱՃࢉFIRϑΟϧλͰ࣮ݱͰ͖Δ • ࣹͷٯԋࢉΛΕΑ͍ • LMS๏ͰదԠϑΟϧλΛܾఆ • ͷܾఆ݅: ৼ෯Ұఆʹ͢
Kenji Rikitake / Sakura Lab Night 16-JAN-2020 10
దԠϑΟϧλͷ࣮ྫ 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
దԠϑΟϧλΛ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
#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
ྗͷ࣮: airspy-fmradion Airspy HF+RTL-SDRͱMacRaspberry PiͷΈ߹ΘͤͰಈ࡞ ߴڃFMνϡʔφʹඖఢ FMԕڑड৴ʹޮՌ ઈࢍ։ൃத h"ps:/ /github.com/jj1bdx/airspy-fmradion
Kenji Rikitake / Sakura Lab Night 16-JAN-2020 14
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