問題タブ [nyquist]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lisp - LISP/Nyquist ファイルを開いて行ごとに読み取る
ファイルを開き、EOF まで各行を読み取るのに苦労しています。私は、XLISP に基づいた nyquist を使用していますが、Common Lisp のwith-open-file
. 私のコードは次のとおりです。
ナイキストから得られる出力は次のとおりです。
どこが間違っているのかを理解する助けが欲しい
注:私も試しました:
しかし、それは次のようになります:
アップデート:
Rainer Joswig が提供した情報とリンクを使用して、ファイルを開いて行ごとに読み取るために使用する典型的なコードを見つけることができました。
このdo
関数には、次の 3 つの基本部分があります。
- 1 行目と 2 行目 - ループで使用するために割り当てられた変数、それらの初期値、およびそれらをインクリメントする方法。この場合
fp
とex
.fp
はインクリメントされず、fp からex
初期化されて 1 ずつインクリメントされます(末尾が何のためにあるのかわかりません)read
nil
- 3 行目 - ループの終了条件と、
return expressions
終了時に評価され、最後に返されるすべてのリスト。この場合、 exit がいつ発生しex == null
、その後nil
返されます - 4 行目 - ループの実際の本体。この場合、自明です。
注:の割り当てで使用される方法のように、ある式で割り当てられた変数を後の式で使用できるという点でdo*
とは異なります。do
fp
ex
私はあらゆる種類の LISP に無頓着なので、上記のいずれかが間違っている場合は、率直に言ってください。
lisp - ナイキストの文字列から文字を削除する
Nyquist(xlispに非常に似ています)の文字列から特定の文字を削除して、結果を返すにはどうすればよいですか?
「ABBAAAABBBAABAAAB」のような文字列に「A」がいくつあるかを数えたいです。(はい、文字列には「A」と「B」のみが含まれます。)
ナイキストには(カウント)関数がないので、次のようなものを試しました
また
しかし、それは機能しません。
文字数を少し忘れて、文字列から「B」を削除するにはどうすればよいですか?
signal-processing - ナイキスト (大胆さ) での PWM 方形波デシメータ プロセス
Audacity の入力選択を近似するために、方形波が PWM で変調されるような PWM 効果を作成しようとしています。これを使用して、適切なフィルター効果を適用した後、お気に入りの音楽が PC (または Apple ][) Squeaker Fidelity LOL :-) でどのように聞こえるかを聞くことができます。
私の当初の考えは、のこぎり発振器を作成し、それを PWM のコンパレータ ステップのリファレンスとして使用することでした。
難しい部分は、コンパレータの結果に基づいて方形波の反転を追跡することです
C ++では、>を使用してサンプルごとに実行し、現在生成されている正方形のサンプルの符号を適切に変更しますが、これはWindowsでは大胆です(C / C ++コンパイラが在庫にあるLinuxとは異なります)ので、ナイキストプロンプトしか得られませんでこれをやろうとする
---簡単にするために、モノのサンプル入力を想定します---
比較として (> s (osc-saw 44100)) を使用すると機能しません
ナイキストのサンプルループは非常に恐ろしく邪悪なので、ここからどこに行くべきかわかりません
audacity には、この効果を行うためのプラグインがありません... PWM トーン ジェネレーターしかありません。
PS: Nyquist でサンプルごとの処理を行う方法の例をいくつか使用できます。
matlab - MATLAB ナイキスト線図エラー
ナイキスト線図を描こうとすると
曲線は の虚軸に向かって移動しませんw=infinity
。
MATLAB の虚軸から離れます。分母に「s」項がある場合、同じエラーが発生します。
matlab - MATLAB - バタワース フィルター設計の入力周波数
「buttord」および「butter」関数を使用してバターワース係数を計算するのが困難です。私の目的は、作成した時系列からノイズを除去することです。時系列には、レッド ノイズ成分と周波数 0.3 Hz の正弦波信号があります。時系列のサンプリング周波数は 10 Hz です。
「buttord」のドキュメントhttp://www.mathworks.com/help/signal/ref/buttord.htmlに従って、仕様の [n, Wn] を計算しました (ドキュメントの例 1 に従いました)。
y_butter を時間でプロットすると、どこでもゼロになります!
'freqz' を使用してフィルターの周波数応答を調べようとしました (512 サンプルを使用)。
このプロットは、遷移帯域が 1 ~ 4 Hz であることを示しています。
フィルターの背後にある私の理解は次のとおりです。
- 0.3Hzの信号
- >> 0.3 Hz のノイズ
- 0 から 0.33 Hz までのすべてを渡す
- 0.36 Hz 以上のすべてを減衰
あなたの助けは大歓迎です!
データはここからダウンロードできます: http://dl.dropbox.com/u/1918592/detrendedTS.mat「ts」の列 1 は時間変数、列 2 はデータ変数です
線形近似 (Matlab 'detrend') を detrending して、ウォークアウェイ レッド ノイズ動作の一部を削除しました。
fft - 正弦波データの配列を扱うときにサンプリング周波数の概念を使用する方法は?
最初に、Matlab FFT に慣れていました。たとえば、次のようにします。
そして、ナイキストとサンプリング周波数パラメータを使用する理由については十分に理解していると思います。ただし、出力の配列に対して同じ手順を実行することを想定しています (つまり、私が持っている別のサブルーチンからの正弦波です)。これは、出力配列に 2 つの列があることを意味します。最初の列は時間ベクトル用で、2 番目の列は実際の正弦応答。では、fs パラメータを組み込むにはどうすればよいでしょうか。私は突然混乱しています。詳細が必要な場合はお知らせください。ありがとうございました。
fft - 正しいサンプリング周波数を取得するには、どうすればよいですか?
サンプリング周波数の概念を完全に理解しようとしています。PaxRomana99 から有用な回答を得ました (正しい周波数ベクトルを設定するのに助けが必要です)。正しい周波数ベクトルを取得する方法は、時間間隔を fs に関連するように設定する場合のようです:
t = 0:1/fs:10; % fs でサンプリングされた 10 秒間のデータ y = sin(2*pi*100.*t); ただし、私の場合、時間間隔の設定方法を制御できません。2 つの配列が与えられます。1 つは時間間隔で、もう 1 つはその時間間隔から生じる正弦波です。では、時間配列を通過して fs を抽出する必要がありますか? 時間ステップ間の間隔はどれですか? 私はここで間違った道を進んでいますか?ヒントと助けをありがとう!
lisp - Audacity - オーディオ レートに一致するようにナイキスト プロンプト制御レートを設定する方法は?
Audacity の Nyquist Prompt プラグインを使用して、長さが 2048 サンプルの区分線形波形を作成したいと考えています。たとえば、2048 個のサイレント (ゼロ) サンプルから始めてすべてを選択し、次のようにナイキスト プロンプトを呼び出すことで、方形パルス波を生成できます。
これは、区分線形 (pwl) 関数を使用して、時間 0、レベル 1.0 で開始し、時間 0.5 (選択範囲の中間)、レベル 1.0 まで線形補間し、すぐにレベル 0.0 にジャンプする波形を作成します。時間 1.0 まで 0.0 で続行します。
これは機能しますが、結果の波形には時間 0.5 で鋭い 1 サンプル遷移 (ステップ) がなく、代わりに ~40 サンプルにわたって 1.0 と 0.0 の間の線形ランプがあります。これは、この状況では受け入れられません。
ここでの変換は、Audacity 内で Nyquist プラグインが実際にはオーディオ レートよりもはるかに低い制御レートで実行されることを示唆しています。
実際には方形波よりもはるかに複雑な波形を作成したいので、この問題が解決したら、引き続き完全な波形を作成できます。
私の質問は次のとおりです。
- pwl 関数をサンプル精度で制御できるように、オーディオのサンプリング レートに合わせて制御レートを調整することはできますか?
- これは、'pwl' も呼び出す Nyquist Lisp 式にどのように組み込まれますか? 私は Lisp にまったく詳しくなく、2 つのステートメントを順番に実行する方法を理解していません。私の推測では、それを行う機能があります...
それがより理にかなっていれば、Audacity の外で Nyquist を使用できれば幸いです。