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
850
インターネットとオープンな無線技術の今後 / 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
650
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
980
Safe randomness: theory and practice
jj1bdx
1
1.5k
ただの失業したインターネット屋は果たして独立開業できたのか? / Did the fired internet engineer finally start up his business successfully as an independent consultant?
jj1bdx
1
460
Other Decks in Technology
See All in Technology
AI時代、“平均値”ではいられない
uhyo
6
1.6k
RDS の負荷が高い場合に AWS で取りうる具体策 N 連発/a-series-of-specific-countermeasures-available-on-aws-when-rds-is-under-high-load
emiki
7
4.5k
「改善」ってこれでいいんだっけ?
ukigmo_hiro
0
390
難しいセキュリティ用語をわかりやすくしてみた
yuta3110
0
360
HonoとJSXを使って管理画面をサクッと型安全に作ろう
diggymo
0
160
サイバーエージェント流クラウドコスト削減施策「みんなで金塊堀太郎」
kurochan
4
2.2k
「REALITY」3Dアバターシステムの7年分の拡張の歴史について
gree_tech
PRO
0
120
Implementing and Evaluating a High-Level Language with WasmGC and the Wasm Component Model: Scala’s Case
tanishiking
0
160
[2025年10月版] Databricks Data + AI Boot Camp
databricksjapan
1
230
「最速」で Gemini CLI を使いこなそう! 〜Cloud Shell/Cloud Run の活用〜 / The Fastest Way to Master the Gemini CLI — with Cloud Shell and Cloud Run
aoto
PRO
0
140
ソースを読むプロセスの例
sat
PRO
15
9.7k
Microsoft 365 の認証と承認を理解する / Understanding Microsoft 365 Authentication and Authorization
karamem0
0
100
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
11k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Become a Pro
speakerdeck
PRO
29
5.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Language of Interfaces
destraynor
162
25k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Into the Great Unknown - MozCon
thekraken
40
2.1k
4 Signs Your Business is Dying
shpigford
185
22k
Agile that works and the tools we love
rasmusluckow
331
21k
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