質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

568閲覧

フーリエ変換の図示の方法

Ayatakamaru

総合スコア3

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/01/31 03:03

前提

ここに質問の内容を詳しく書いてください。
サンプリング周波数20kHzのデータをフーリエ変換したときに5kHzのデータが確認できない

実現したいこ

サンプリング周波数20kHzので録音された5kHzの信号を確認したい

発生している問題・エラーメッセージ

5kHzの周波数帯が確認できない

該当のソースコード

python

1import numpy as np 2import matplotlib.pyplot as plt 3##########データ抽出################# 4 5A=10 6f = 5000.0 # 周波数 Hz 7sec = 0.5 # 信号の長さ s 8sf = 10000 # サンプリング周波数 Hz 9count = sec*sf 10count = int(count) 11t=[] 12y=[] 13 14t = np.arange(0, sec, 1/sf) #サンプリング点の生成 15y = A*np.sin(2*np.pi*f*t) # 正弦波の生 16 17# Generate test signal 18fs = 20000 # Sampling frequency 19N = 10000 # Number of samples 20t = np.linspace(0, 1/fs, num=N, endpoint=False) 21x = 0.1 * np.sin(2 * np.pi * 1000 * t) + 0.01 * np.sin(2 * np.pi * 5000 * t) 22 23# Perform FFT 24X = np.fft.fft(y) 25f = np.fft.fftfreq(N, 1/fs) 26f = np.fft.fftshift(f) 27X = np.fft.fftshift(X) 28 29plt.plot(f, np.abs(X)) 30plt.xlim(0, 1000) 31plt.xlabel('Frequency [Hz]') 32plt.ylabel('Magnitude') 33plt.show()

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2023/01/31 05:39 編集

質問のコードをそのまま実行したら、 ValueError: x and y must have same first dimension, but have shapes (10000,) and (5000,) というエラーが出ます > サンプリング周波数20kHz なのだから、 sf = 10000 # サンプリング周波数 Hz ↓ 修正 sf = 20000 # サンプリング周波数 Hz とするのではないですかね (そうしたらエラー出なくなる) 上記を直した場合ですが、 > plt.xlim(0, 1000) として0〜1kHzだけ表示させたら、 > 5kHzの周波数帯が確認できない となるのは当たり前だと思うのですが その行を無効にしたら、グラフの-5kHzと5kHzにピークがあります
Ayatakamaru

2023/01/31 16:00

すみませんでした,ただの勘違いでした 解決しました ご指摘ありがとうございます
guest

回答1

0

自己解決

勘違いでした

jbpb0さんありがとうございます

投稿2023/01/31 16:04

Ayatakamaru

総合スコア3

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問