タグ付けされた質問 「dft」

離散フーリエ変換(DFT)は、(基本)ドメイン(時間、空間)の離散点の有限セットとデュアル周波数ドメイン間のマッピングです。DFTには、アナログオーディオ信号からのサンプリングなど、離散的な入力シーケンスが必要です。

3
STFTおよびDWT(ウェーブレット)
STFTは、いくつかの周波数領域の変更(例:ノイズ除去)を行うために、サウンドデータ(たとえば、.wavサウンドファイル)で正常に使用できます。(すなわち、10秒サンプリングレートで)、 、、STFTは近似的生成(:時間枠を、第2座標:周波数ビンを第1の座標)配列。この配列に対して変更を行うことができ、オーバーラップ加算(*)を使用して再構成を行うことができます。N=441000fs=44100windowsize=4096overlap=4430x4096 ウェーブレットで同様のことをどのように行うことができますか?(DWT)、つまりa x b、a時間フレームとb周波数ビンを備えた同様の形状の配列を取得し、この配列に何らかの変更を加え、最後に信号を復元しますか?どうやって ?overlay-addと同等のウェーブレットとは何ですか?ここに含まれるPython関数は何ですか(オーディオの変更の簡単な例は見つかりませんでしたpyWavelets...)? (*):使用できるSTFTフレームワークは次のとおりです。 signal = stft.Stft(x, 4096, 4) # x is the input modified_signal = np.zeros(signal.shape, dtype=np.complex) for i in xrange(signal.shape[0]): # Process each STFT frame modified_signal[i, :] = signal[i, :] * ..... # here do something in order to # modify the signal in frequency …
12 fft  wavelet  dft  python  stft 

2
単純なFFT振幅スペクトルの代わりにPSDを計算する必要があるのはいつですか?
44.1 kHzでサンプリングされた32秒の音声信号があります。ここで、音声の周波数を示したいと思います。しかし、私はそれを行うための最良の方法が何であるかわからない。フーリエ変換の絶対値を計算することもあれば、パワースペクトル密度を計算することもあります。正しく理解できれば、後者が機能するため、信号を部分に分割し、FFTを部分ごとに実行し、何らかの方法でこれらを合計します。ウィンドウ関数は何らかの形で関与しています。これを少し明確にできますか?DSPは初めてです。

2
DFTを使用したサブピクセル画像シフトは実際にどのように機能しますか?
サブピクセルシフト画像の生成を伴うアプリケーションのいくつかの画像補間方法の品質を評価しようとしています。これらすべての補間バリアントを使用してサブピクセルシフトの結果を完全にシフトした画像と比較できると思いましたが、おそらくそれを取得することはできません(補間の必要性はどうなりますか?)。 私は、周波数領域でDFT +シフトを使用することを考えていましたが、画像を明示的に補間する(バイリニア、バイキュービックなどを使用する)場合と比較して、実際にどのように機能するのかわかりません。完全にシフトした画像を生成することはできないと確信していますが、指を置くことはできません。DFTを使用したサブピクセルシフトは、補間の適用と同等ですか?この方法を使用して取得した画像のピクセル値のバイアスはどのくらいですか?ありがとう! 編集: 問題を考えた後、FFTは高調波(正弦関数)の観点から元の関数の近似(さらにはDFT)であるため、何らかの三角補間に相当すると考えました。離散データの「フーリエ級数補間」式は三角補間でしたが、接続されているかどうかはわかりません。

2
ダウンサンプラーのZ変換
で、この論文またはマルチレートフィルタリング、著者は以下の数学的関係を確立します。ましょうyDyDy_Dそのようなダウンサンプラの出力であります yD[n]=x[Mn]yD[n]=x[Mn]y_D[n] = x[Mn] ここで、MMMはダウンサンプリング係数です。つまり、元の信号のMMM番目のサンプルごとに保持します。その後、著者は次のことを述べます。 ...のz変換yD[n]yD[n]y_D[n]によって与えられます。 YD[z]=1M∑k=0M−1X[z1/MWk]YD[z]=1M∑k=0M−1X[z1/MWk]Y_D[z]=\frac{1}{M}\sum_{k=0}^{M-1}X[z^{1/M}W^k] ここで、WkWkW^kあるMMM -ポイント離散フーリエ変換カーネル、すなわち変換 e(−j2πk)/Me(−j2πk)/Me^{(-j2\pi k)/M}。 前者の表現から後者の表現にどのように移行できますか?このような移行を可能にするDFTとZ変換の関係は何ですか?

1
実離散フーリエ変換
私は、実際のDFTとDFT、およびその違いが存在する理由を理解しようとしています。 私が知っていることから、これまでにDFTが使用する基底ベクトルおよび得られる表現X [ N ] = N - 1 、Σ K = 0 Xを[ k個] E I 2 π K N / N和歴史的な理由からk = 0からN − 1に書かれていますが、k =eI 2個のπk n / Ne私2πkn/Ne^{i2\pi kn/N}x [ n ] = ∑k = 0N− 1バツ[ k ] eI 2個のπk n / Nバツ[n]=∑k=0N−1バツ[k]e私2πkn/Nx[n]=\sum_{k=0}^{N-1}X[k]e^{i2\pi kn/N}k = …
12 dft 

3
周波数分解能が良い場合、ゼロパディング後にDFTで周波数リークが発生するのはなぜですか?
この例を考えてみましょう: Fs=1000; Ns=500; t=0:1/Fs:(Ns-1)*1/Fs; f1=10; f2=400; x=5+5*sin(2*pi*f1*t)+2*sin(2*pi*f2*t); X=fft(x); このシナリオでは、周波数分解能は2で、すべての周波数成分が正しくキャプチャされています。ただし、これを行うと: X=fft(x,1000); 周波数分解能は1ですが、スペクトル漏れがあります。ここでも同様の効果が見られます。両方のウィンドウのフーリエ変換(1つは長さ500、もう1つは長さ1000)は、信号で示される周波数でゼロを持っているように思えます。そのため、リークが発生する理由がわかりません。

2
「ゼロパディングでは周波数分解能が実際に向上しない」と言うのはなぜですか
f = 236.4 Hzこれは周波数の正弦波(長さは10ミリ秒です。N=441サンプリングレートにポイントがありますfs=44100Hz)とそのDFTで、ゼロパディングはありません。 DFTを確認することで得られる唯一の結論は、「周波数は約200Hzである」です。 これが信号とそのDFTであり、大きなゼロパディングがあります。 これで、より正確な結論を得ることができます。「スペクトルの最大値を注意深く見れば、周波数236Hzを推定できます」(ズームして最大値が236に近いことがわかりました)。 私の質問は、「ゼロパディングでは解像度が向上しない」と言うのはなぜですか?(私はこの文を頻繁に見ましたが、「補間を追加するだけです」と彼らは言っています) =>私の例では、ゼロパディングによって、より正確な分解能で適切な周波数を見つけることができました。

4
DFT-畳み込みを使用したスペクトルドメインのウィンドウ効果の削除
DFTのウィンドウ処理の件について考えていたとき、思いついた。DFTは、使用されるウィンドウのスペクトルで畳み込まれた信号のスペクトルを生成します。したがって、メインローブとサイドローブがあります。 信号とウィンドウスペクトルの大きさの両方を再度畳み込むことで、信号のスペクトルに対するウィンドウ効果を取り除くことができると考えました。次の画像からわかるように、実際に機能しました。 左は、ハニングウィンドウで生成された元のスペクトルです。右は、ハニングウィンドウのDFTによって畳み込まれたスペクトルです。上はスペクトル自体、下はMATLABのfindpeaks結果です。 私はこのテクニックに関して何も読んだことがありませんが、私はそこに何も発明していないと確信しています。したがって、この処理をスペクトルで実行することの利点があるのか​​、それとも私には見られない欠点があるのか​​と思います。 私が見るところから見ると、前の画像でわかるように、これはピーク検出に役立ちます。また、次の2つの画像でわかるように、スペクトルが少し歪んでいるように見えます。: 青いグラフはスペクトル、赤いグラフは畳み込み後のスペクトルです。 これについて何か考えはありますか? このFFT後の畳み込みから発生する可能性のある問題はありますか? 主題を扱う紙はありますか? 編集 次のグラフを生成するスクリプトがここにあります。

2
正規化された周波数とは
DSPに取り組んでいますが、DFTおよびDTFTでよく使用される正規化周波数という用語を理解するのが困難です。 DSPの正規化周波数とは何ですか?そしてそれはアナログ周波数とどう違うのですか? DSPで周波数を正規化する意味は何ですか? 正規化された周波数の限界が2πであるのはなぜですか? FFTは正規化された周波数をどのように扱いますか?
11 dft 

2
Log-Polar DFTベースのスケール不変の画像登録
Reddy Chatterjiの論文に記載されているように、位相相関を使用して画像のレジストレーションを行おうとしています。私の場合、画像は相対的にスケーリングおよび変換されます。 私が理解しているように、相対スケールを見つけるアルゴリズムは次のとおりです(参照:論文のフローチャート)。 F1 = DFT(I1) F2 = DFT(I2) H1 = Highpass(F1) H2 = Highpass(F2) L1 = LogPolar(Magnitude(H1)) L2 = LogPolar(Magnitude(H2)) PC = PhaseCorrelate(L1,L2) PM = norm(PC) R = IDFT(PhaseCorr/PM) P = Peak(R) Scale = LogBase^P[1] スケールは一見無意味な値を与えます(画像ごとに大きく異なり、決して修正されません)。 しかし、スケールを無視すると、同じ位相相関アプローチが変換にうまく機能します。ですから、対数極変換に問題があるのではないかと思います。これは私が翻訳のために解決した例です-左の画像はオリジナルで、右はトリミングされて翻訳されています-ソリューションは元の画像の上に表示されています: 対数極座標変換のために、私は第一極空間への変換 私^(ρ 、θ )= I( R + ρ COS(2 πθNθ)、 R - …

7
なぜDFTは変換された信号が周期的であると仮定するのですか?
多くの信号処理の本では、DFTは変換された信号が周期的であると想定していると主張されています(これが、たとえばスペクトル漏れが発生する理由です)。 ここで、DFTの定義を見ると、そのような仮定はありません。ただし、離散時間フーリエ変換(DTFT)に関するWikipediaの記事では、 入力データシーケンスが周期の場合、Eq.2は離散フーリエ変換(DFT)に計算的に削減できます。Nx[n]x[n]x[n]NNN では、この仮定はDTFTに由来するのでしょうか? 実際、DFTを計算するとき、実際には信号が周期的であるという前提でDTFT を計算していますか?

2
FFTのアーティファクト
最近、FFTは完全ではないことに気付きました。信号を取得してからFFTを取得してから逆FFTを実行すると、結果の出力は入力とまったく同じにはなりません。ここに私が何を意味するかを示す画像があります: 画像はかなり自明だと思います。IFFT信号は「FFT​​スペクトル」の逆変換であり、「差分」プロットはIFFT信号と元の信号の差です(IFFT-オリジナルIFFT-オリジナル\text{IFFT - Original})。 明らかに小さいのですが、いくつかのアーティファクトがあります。そもそもなぜ発生するのか知りたい。これはフーリエ変換の有限ウィンドウのためですか?または、FFTアルゴリズムの何かのためですか? 注:このプロットには32ポイントがありますが、100、1000、1024、256、および64ポイントで確認しました。同様の大きさの差(またはいずれか)には常にこの残差があります。)。10− 1610−1610^{-16}10− 1510−1510^{-15}

2
DFTベクトルの複素共役対称性を維持するための行列のプリコーディングの条件
長さNのDFTベクトルがあるとします。これは、その中間点の周りに複素共役対称性を示します。つまり、、など。 およびは、それぞれDCおよびナイキスト周波数であるため、実数です。残りの要素は複雑です。XX\mathbf{X}X(1)=X(N−1)∗X(1)=X(N−1)∗X(1) = X(N-1)^*X(2)=X(N−2)∗X(2)=X(N−2)∗X(2) = X(N - 2)^*X(0)X(0)X(0)X(N/2)X(N/2)X(N/2) ここで、ベクトルXを乗算するサイズ行列とします。TT\mathbf{T}N×NN×NN \times N Y=TXY=TX\begin{align} \mathbf{Y} = \mathbf{T}\mathbf{X} \end{align} 質問は: どのような条件で、行列に対して、結果のベクトルの中間点の周りの複素共役対称性が保持されますか?TT\mathbf{T}YY\mathbf{Y} この質問の動機は、IFFTが実数である事前にコード化された(事前に等化された)シンボルをもたらすプリコーダー行列を考え出そうとすることです。TT\mathbf{T}YY\mathbf{Y} 編集: @MattLに感謝します。と@niaren。この質問の難しさは、必要な条件を見つけることです。マットの答えは確かに十分です。次の変更を加えるだけでも十分です。 最初の行と最初の列はゼロである必要はありません。代わりに、それらはゼロ以外の値である可能性があります。その値が中間点の周りに複雑な共役対称性を示す限り、そのシンボルのように、最初の値は実数で、番目の値は実数です。同じことは、番目の列、番目の行、および主対角線についても言えます。(N/2+1)(N/2+1)(N/2+1)(N/2+1)(N/2+1)(N/2+1)(N/2+1)(N/2+1)(N/2+1) 次に、左上隅と右下隅のマトリックス間の同じ対応を右上隅と左下隅の間で行うことができます。つまり、t 2 、N / 2 + 2から t N / 2 、Nまでの行列。左から右に反転し、逆さまに反転して共役を取り、左下隅に配置します。MATLABでは、次のようになります。(N/2−1)×(N/2−1)(N/2−1)×(N/2−1)(N/2 -1)\times(N/2-1)t2,N/2+2t2,N/2+2t_{2,N/2 + 2}tN/2,NtN/2,Nt_{N/2,N} T(N/2+2:N,2:N/2) = conj(fliplr(flipud(Tisi(2:(N/2),N/2+2:N)))) この構造は、DFT行列の構造に似ています。それは必要条件でしょうか? 編集(2): 次のコードは、任意の実数値行列Aに対してこのような有効な演算子を実装します。N×NN×NN \times NAA\mathbf{A} N = 8; A = …


4
正弦波の代わりに三角波を使用したDFTのような変換
DFT(離散フーリエ変換)は、信号を正弦波の複数の周波数に分解することを知っています。同じことを行うが、三角波の変換はありますか? 私の目的では、1次元信号(電圧など)についてのみ話します。私は過去の株式市場データを研究していますが、特定の株の反転について調べたいだけです。つまり、この変換を使用して株価の「ローパス」を実行したいのです。 編集:はいの場合、どうすればよいですか?
9 fft  dft  transform 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.