-PR-
締切済み

正弦波の波形について

  • すぐに回答を!
  • 質問No.45125
  • 閲覧数305
  • ありがとう数7
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 66% (10/15)

#include<math.h>

#define M 1000
#define T 20
#difine PI 3.1415926

int i;
double sig[M];
main(){
for(i=0;i<M;i++){
sig[i]=sin(((double)i/M)*T*2*PI);
}
}

この正弦波の波形を8ビット、16ビットに直したいのですが
分かりません。教えて下さい。お願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1
レベル13

ベストアンサー率 26% (511/1924)

「波形を?ビットに直す」ってのはどういう処理を期待しているのでしょうか?
最大幅を?ビットにしたいってことですかね?
sin() の発生範囲は確か0~1の間ですよね?欲しい範囲が例えば符号無し8ビットとして0~256。この辺からどうすれば良いか見えてきませんか?


  • 回答No.2
レベル8

ベストアンサー率 34% (19/55)

すっ、すいません。shigatsuさんへ。
 sinの範囲は-1~+1です。
 符号なし8bitの範囲は0~255です。

という事で、
(符号付き)8bit(signed char)の範囲は-128~+127、
(符号付き)16bit(signed short)の範囲は-32768~+32767です。
-128や-32768という値は使わないように範囲を変換してください。
  • 回答No.3
レベル13

ベストアンサー率 26% (511/1924)

し、しまった・・・(^^;
補足ありがとうございました。>tatimiさん
最近あんまりプリミティブなことしてないので・・言い訳。
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ