• 締切済み

DSPについて

DSPの実験において、周波数が262Hz(ドの音階)の正弦波を発生したとき、出力された周波数が理論値と違う値が出てきたんですが、理由のわかる方いらしゃいましたら、ぜひ教えてください。

みんなの回答

  • tttt23
  • ベストアンサー率25% (76/303)
回答No.3

> サンプリング周波数は8KHzです。 ということは、 125 マイクロ秒ごとに変数 deg を 1 ずつ増加させ、sin(deg * 12) を DA 変換出力しているのでしょうか。 これなら 267Hz の正弦波が得られるはずですね。 もし間違って、sin(deg * 10) を DA 変換出力すると 222Hz が出力されることになりますがそんなことは無いでしょうね。

00hide00
質問者

お礼

お答えありがとうございます。参考にさせていただきます。

noname#6694
noname#6694
回答No.2

ハード的なことがわからないものなので、どうともいえませんが、入力信号がきちんと262Hz正弦波となっていますか?入力信号を確認して正しければ、原因はソフトの方とも考えられますし(自分でプログラミングしたときはよく起こります。)その場合はわかっている信号(たとえば白色雑音)などを通して、どこが間違っているかを探すなどの方法を考えられてはいかがでしょう。まずは実験の流れを書き出して順番にチェックしてみるのがよいかと思います。 参考にならなくてごめんなさい。

00hide00
質問者

お礼

こちらこそ情報不足ですみません。m(__)m

  • tttt23
  • ベストアンサー率25% (76/303)
回答No.1

これだけの情報で理由が答えられる人はいないと思います。 実際には何 Hz の音が出ているのかと、ハードがどういう構成になっていて (特に DSP のクロック)、どういうアルゴリズムのソフトになっているのかを教えてもらわないと。

00hide00
質問者

補足

DSPは40MIPS,16bit10wordのRAM,2KwordのROMなどの仕様をもつプロセッサでAIC,AD変換器,DA変換器,LPF,HPF で構成されています。マスター・クロックは10MHzでサンプリング周波数は8KHzです。DSKのプログラムはアセンブラ言語です。実際には227Hzしか出ていません。

関連するQ&A

  • 周波数発生器と直流電圧発生器を直列/並列に繋ぐとどういう波形になる?

    カテゴリが違うかも知れませんが、 詳しい方が多いと思い、ここに質問させて頂きます。 今、ある変換器に模擬入力を入れようとしていますが、 分かっているようで理解出来ていなかった 電圧と周波数について教えて下さい。 お分かりになる範囲だけでも結構です。 周波数発生器がHz(正弦波)出力のとき、 直流電圧発生器5Vを「直列」に接続すると 5V付近で正弦波が波打っている波形になるんだろうなぁ、 と思っています。 これを「並列」に接続するとどうなるのでしょうか? 実質、このような発生器の接続は可能なのでしょうか? また周波数発生器の出力がHz、Vrmsとありますが Hzは発生器に設定された1V~-1Vが?Hzで発振 していると考えて問題ないのでしょうか。 ではVrmsは? 実効値のことだとは理解しているつもりですが、 実際、このときの周波数はどうなっているのでしょうか? 宜しくお願いします。

  • オペアンプを用いた回路について

    オペアンプについてわからない事があるので教えてください。 入力Vmax=10mV、周波数1~100[kHz]の正弦波をオペアンプを用いた反転増幅器に入力し、その出力を更にオペアンプを用いた微分回路に入力し、その出力電圧を測定しました。 その結果、1~10[kHz]まではほぼ理論通りの結果になりますが、10[kHz]以上では理論値>実験結果になります。 理論値は周波数特性も含めて計算し、シミュレーションソフトでも同じような値になったため間違いないと思います。 色々調べた結果、浮遊容量や、オペアンプ内部のトランジスタの寄生容量が関係しているかもしれないという事が書いてあったのですが、寄生容量や浮遊容量は静電容量なので周波数が高くなればその影響は少なくなりますよね。 周波数を高くしていくと理論値と実験結果がずれてくる理由はほかに何が考えられるでしょうか。 よろしくお願いします。

  • RC直列回路における位相の誤差

    RC直列回路に正弦波交流を与えた時の、入力電圧に対する出力電圧の位相角を、実験と理論式からそれぞれ求めました。 周波数を10→10000までにした際に、理論値は、0°→90°に綺麗なグラフになったのですが、実験値は、0°→70°ぐらいにしかなりませんでした。実験値と理論値の差を求めると、周波数に比例するように差も大きくなりました。 実験値はオシロスコープから読み取った為、周波数が大きくなるにつれて目測による誤差も大きくなったというのも原因の一つかとは思われますが、他にどのような原因が考えられるでしょうか?

  • DSPでトーン検出

    現在、DSP(デジタルシグナルプロセッサ)の勉強もかねて、DSPICを使いいろいろな実験をしています。 フィルタなどのサンプルは、いろいろなページで紹介されていました。 しかし、今回は特定の周波数のトーン(単音または2音)が鳴っているかを検出したいです。 バンドパスフィルタを使って、その結果の波形の高さを見れば出来そうですが、周波数の精度を上げたい場合にうまく動作してくれません。 たとえば、1kHz±5Hzと1.1kHz±5Hzといった具合での検出は無理なのでしょうか? 信号があるかどうかわかれば良く、100ms程度の時間がかかっても問題ありません。 どのように実現するか、ご存じの方や良いサイト等ありましたら是非とも教えていただけないでしょうか?

  • 増幅回路の実験で、周波数特性の測定をしたのですが、考察で困ってます。

    増幅回路の実験で、周波数特性の測定をしたのですが、考察で困ってます。 入力側及び出力側の低域遮断周波数をそれぞれ等価回路よりもとめ、実験結果より求めた値と比較せよという問題があるのですが、これがよくわかりません。それぞれ計算した値は、入力側fcl1=90Hz,出力側fcl2=160Hz,実験結果fcl=130Hzとなりました。考察にはどのようなことを書けばいいのでしょうか?

  • 電圧の理論値の計算方法

    RC直列回路(R=10kΩ,C=0.1[uF])に実効値1.0Vの正弦波交流電圧e(t)を加える。交流電圧の周波数fを変化させ、抵抗Rの両端の電圧ERとコンデンサCの両端の電圧Ecの値をデジタルマルチメータで計測すること。という実験で 計測した抵抗器とコンデンサにかかる電圧の理論値の計算方法と値の出し方が全然わかりません。。また交流電圧の周波数が160[Hz]のときに流れる電流の理論値の求め方も教えてください おねがいします。表が分かりにくかったら教えてください f[Hz]| 10 | 20 | 30 | 50 | 70  |100  |160 |200  |300 |500 |700 | ER[V]|0.050|0.104|0.155|0.252|0.340|0.454|0.623|0.699|0.816|0.908|0.938| Ec[V]|0.986|0.983|0.976|0.951|0.921|0.865|0.748|0.677|0.532|0.359|0.269|

  • PICを使って正弦波を出力

    PIC16F84Aを使って、正弦波を出力したいのですが、プログラミングまたは回路のほうはどのように組めばよいのでしょうか。 欲しい正弦波の周波数は0.3[Hz]、使用言語はアセンブラです。 よろしくお願いします。

  • PLL(Phase locked loop)についてぜひ教えてください。

    以前に「n逓倍器」について多くのアドバイスをいただき、ありがとうございました。 結局、水晶振動子で安定した周波数出力をし、PLLを使ってn倍の逓倍器を作ろうと決めました。 ICはMC14060を使おうと思っています。 このICは14ビットのバイナリカウンタで、発振器も内蔵しており、水晶振動子を接続することで、14ビットの範囲で任意に分周させて出力が出来るようです。(この時点で間違っていたらすいません。。) それで、100Hz程度の正弦波をPLLに入力させようとしているので、一般的な水晶振動子では周波数が高すぎる(数MHzを多く見かけました)ため、分周して出力させようと考えました。 水晶振動子を調べると0.032768MHzという水晶振動子を見つけたのですが、それを14ビットで分周すると・・・ 0.032768(MHz)×(1/2の14乗)=2Hzとなるので十分だと考えました。 そこで質問があるのですが、水晶振動子の出力を分周させて低めの周波数(数Hz~数KHzぐらい)で出力させようとするときは、高めの周波数(数MHz~数十MHz)の水晶振動子を値の大きなビットで分周させてつくったほうが良いのでしょうか?それとも、あらかじめ低い周波数(私が見つけた水晶振動子程度)の水晶振動子を値の小さなビットで分周させて出力させたほうが良いのでしょうか?? 「良いのでしょうか?」というのは波形が安定しているかどうか(歪みなどが無いか)という視点のみです。 また分周についてお知りの方は、14ビットでは欲しい周波数まで分周できないときは、直列に分周器をつなげる(例えば14ビット分周器を2個)ことでビット数を増やし、高い周波数の水晶振動子でも数Hzの周波数で出力させることが可能でしょうか?? 回路の初心者なのでどんなことでもアドバイスをいただければとても助かります。よろしくお願い致します。

  • マイコンとD/Aでつくる正弦波のひずみ率

    正弦波の1HzをマイコンとD/Aコンバータにより作りました。 正弦波の1周期を1024に分割して、正弦波のP-P(ピークtoピーク)を 4096(12bit)分割して、それぞれの部分においてSIN値に応じた電圧出力をします。 波形はオシロ画面を拡大すれば階段状の正弦波になります。 この波形の「正弦波らしさ」を「ひずみ率」で表現したいと思いますが、 市販のひずみ率計では1Hzという超低周波数は測定できないと思います。 スイッチングノイズなし、アナログフィルターなし・・・として この、1Hzの理論的なひずみ率の計算方法があるのでしょうか? ご存じの方、ご教授をお願いします。

  • 複数の周波数の波が重なったときRMSはどうやって計算しますか?

    50Hzでも500kHzでもただ一つだけ正弦波がある場合、 そのRMS値はその正弦波のp-0の電圧を√2で割った値となります。 一方で50Hzと500kHzが混在する場合には2つの正弦波のRMS値が 足し合わせの波のRMS値になると思います。 ではホワイトノイズはあらゆる周波数の波(0Hz~∞Hz)の足し合わせとなるわけですが、とするとホワイトノイズのRMS値は∞となってしまうのでしょうか?