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 dis...
Search
Kenji Rikitake
January 16, 2020
Technology
1
3.6k
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
840
インターネットとオープンな無線技術の今後 / Future of Internet and Open Radio Engineering
jj1bdx
0
1.2k
ソフトウェアラジオとC++ そしてFMエアチェックのための信号解析と数値計算にまつわるよもやま話 / Software radio and C++
jj1bdx
0
1.1k
SDR時代のFM受信 マルチパスモニタとマルチパスフィルタ / FM broadcast reception with SDR - multipath monitor and multipath filter
jj1bdx
0
640
How I discover a working implementation of clock_nanosleep() for macOS in CPAN Time::Hires
jj1bdx
1
1.3k
Sleeping pays / 1000eng-74th-jj1bdx
jj1bdx
1
49
The BEAM Programming Paradigm
jj1bdx
1
970
Safe randomness: theory and practice
jj1bdx
1
1.4k
ただの失業したインターネット屋は果たして独立開業できたのか? / Did the fired internet engineer finally start up his business successfully as an independent consultant?
jj1bdx
1
450
Other Decks in Technology
See All in Technology
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1.2k
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
160
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
270
Apache Spark もくもく会
taka_aki
0
140
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
390
MagicPod導入から半年、オープンロジQAチームで実際にやったこと
tjoko
0
110
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
2
210
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
1.1k
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
460
はじめてのOSS開発からみえたGo言語の強み
shibukazu
4
1k
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
460
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
190
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
It's Worth the Effort
3n
187
28k
Embracing the Ebb and Flow
colly
87
4.8k
How to train your dragon (web standard)
notwaldorf
96
6.2k
How to Ace a Technical Interview
jacobian
279
23k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Context Engineering - Making Every Token Count
addyosmani
3
62
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Making Projects Easy
brettharned
117
6.4k
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