PIC専用のスレ Part30

このエントリーをはてなブックマークに追加
932774ワット発電中さん:2010/11/17(水) 23:39:48 ID:0ZP01jw1
リバーブは乱数の質の良さがダイレクトに影響するぞ
933774ワット発電中さん:2010/11/18(木) 02:24:03 ID:I0WBrMqO
リバーブって、時間とともに、だんだん音量を下げないといけないですよね
934774ワット発電中さん:2010/11/18(木) 07:44:10 ID:J0d7hwR2
>>931
こてが暖まった状態で
こて先と100vの絶縁
調べといたほうがいいよ
935774ワット発電中さん:2010/11/18(木) 10:14:28 ID:+/xSzPCQ
>>934
そいつは28年前に中学1年生だとしたら現在41歳くらいだろ。
子供の頃以来ずっとハンダゴテさえ握ってなかったようなド素人だ。
ヘタに絶縁を調べようとしても感電するかもしれん。

>>931
そんな年になって28年も放置してたコテが使えると思う判断力しかないのか?
ハンダゴテくらい新しいのを買え。
936774ワット発電中さん:2010/11/18(木) 14:22:15 ID:H7Ne5nqD
AVRマイコンでディレイやエコー処理をやっている例

http://elm-chan.org/works/vp/report_j.html
937774ワット発電中さん:2010/11/18(木) 16:55:51 ID:Wuq3Q43g
半田も今は昔とは違うしなあ。


もう他で目的は達成しているみたいだから自分で考えろでいいと思う。
picのスペック的に無謀過ぎるし。
4bitマイコンで円周率演算世界一を目指す様な物だし。
938774ワット発電中さん:2010/11/18(木) 19:44:17 ID:6FYjYQ+1
20円のPICを100万個使うより、200円のARMを10万個使う方が早いだろうな。
939774ワット発電中さん:2010/11/18(木) 22:21:05 ID:rcbWypl3
20円のなんかあるのか
940774ワット発電中さん:2010/11/19(金) 07:01:53 ID:P7oltUGG
100万個って書いてあるよ
941774ワット発電中さん:2010/11/19(金) 13:39:44 ID:sny/GsN+
>>937
16Fで時代が止まってないか?
dsPICならフィルタ処理くらい軽々だよ。
わかるほどのディレイだとメモリ大量に要りそうではあるが。
942774ワット発電中さん:2010/11/19(金) 13:48:16 ID:gEGRRD7q
外付けRAMにして、AD/DA兼DMAみたいなことをPICにやらせるのが一番実用的か。
新しいPICはあんまり知らないから、足が足りるのかは判らないけどsa。

汎用的に可変操作とかは無理だろうけど。
943774ワット発電中さん:2010/11/19(金) 13:58:05 ID:I7NDTBPD
ADCしてDAC出力しなくても

コンパレータで帰還かけた1bit変調のアナログ回路を用意してやれば
1BITのDRAMを ひたすらアクセスすれば 実現出来るとおもう
944774ワット発電中さん:2010/11/19(金) 14:29:14 ID:4O3T3zTR
PIC10F200
ソースでは、
// #fuses NOWDT, PROTECT, NOMCLR
と書いているのに、
秋月ライターV4(Ver6.72.17) や MPLAB(Ver8.4)のPICKIT3 でHEX読み込むと
CONFIG が NOPROTECT、MCLR ENABLE になってる。ナゼ?
毎回手動で設定し直してから書き込んでます。
12F629や12F683は大丈夫なのに。
945774ワット発電中さん:2010/11/19(金) 17:37:10 ID:kTyNMmwS
>925-927
つまり、単純サンプリングしただけじゃだめってことなんだよね。
でも、単純にADCしてDACした(まぁ、直線補完だわな)だけでサンプリング
レートの1/2までは忠実に再現できるかのように思い込んでいるのとか、
そんなことを堂々と書いてる本があったりして。
ちゃんと実験して波形で示してみろってね。
946774ワット発電中さん:2010/11/19(金) 18:57:27 ID:2KfL49V3
よく分からんけどCDとかでもそういう複雑なことしてるの?
947774ワット発電中さん:2010/11/19(金) 19:02:19 ID:GKNSNZHx
むしろ複雑な事が理解で着てないとエンジニアとして通用しない。
948774ワット発電中さん:2010/11/19(金) 19:05:10 ID:gEGRRD7q
>>946
CDは44.1kHzのリニアPCMだから、PCMの再生技術の話になるんじゃないかしら
ttp://zigsow.jp/pickup/linn/part8/index2.html
949774ワット発電中さん:2010/11/19(金) 19:05:37 ID:wePxG4CG
>>929
「聞こえる」レベルはできても、「綺麗に聞こえる」レベルは難しかったり。
950774ワット発電中さん:2010/11/19(金) 19:22:39 ID:2KfL49V3
今までの話ってまさにPCMのことでしょ?
CDはサンプリングレート44.1kHzで22kHzまで再生できることになってるから
>925-927の話が本当ならそういう処理をしてるのかな?ってこと
951774ワット発電中さん:2010/11/19(金) 19:28:00 ID://dQZnAU
>>950
CDプレーヤーではなく、CDに収録するPCMデータを作るスタジオでやってるんじゃないかな。
952774ワット発電中さん:2010/11/19(金) 20:12:43 ID:1IOq6fAd
>>950
折り返しノイズ
オーバーサンプリング
とかでググれ
953774ワット発電中さん:2010/11/19(金) 20:24:20 ID:2KfL49V3
>>952
それはCDでの22kHz以上での話で、>>924からの流れはは22kHz以下の周波数でも
サンプリング定理を守っても元波形を再現できる、できないって議論でしょ?
954774ワット発電中さん:2010/11/19(金) 20:35:15 ID:sny/GsN+
>>950
CDに限らずデジタルオーディオは、オーバーサンプリング、インタポレーション、ディジタルフィルタ等の技術を駆使してサンプリング定理の限界に近い帯域まで確保してるよ。
955774ワット発電中さん:2010/11/20(土) 01:07:50 ID:SuT7xV7s
>>945
原理的にはそれで良い。ADCとDACだけじゃなくてLPFがあるから。
ただし現実にはサンプリングレートの1/2まで再現しようとするとLPFの
仕様が厳しくなるから、デジタル的にサンプリングレートを上げてから
アナログLPFに通している。
956774ワット発電中さん:2010/11/20(土) 10:47:55 ID:5d9nTiW9
つかサンプリングレート48kHzで24kHzの正弦波が出せると思うのが間違い
正弦波でなくて矩形波だから忠実でないと思うのも間違い
24kHzの1倍音が出てればそれで十分
実際には、24kHzの成分はもっと低い音の波形の微妙な形の変化としてしか現れない
957774ワット発電中さん:2010/11/20(土) 12:28:29 ID:6RjRBDan
>>955
なるほど。
ということは、
・サンプリングレートの1/2の周波数でスカッっと直角に落ちるような特性のLPFがあるならば、
 ADC→DAC→スカッとLPF という構成でOK。オーバーサンプリングは不要
・しかしそれが出来ないので、LPFの特性よりずいぶん上の周波数でサンプリングする
 「オーバーサンプリング」が用いられている。

という理解は合っているでしょうか?
958774ワット発電中さん:2010/11/20(土) 16:29:06 ID:+ZXDbKjZ
>>957
その場合のDAC はパルス出力するものでなければならないけどそういうDACは存在しないので
ADC→DAC→パルス化回路→LPF 
959774ワット発電中さん:2010/11/20(土) 16:44:01 ID:Sj1z/2pf
えっ
960774ワット発電中さん:2010/11/20(土) 17:51:38 ID:+ZXDbKjZ
だからサンプリング定理の世界は デルタ関数の世界なのよ
DAC出力は階段状だからそのままでは1遅延した関数を減算して積分した事になるわけ

つまり階段状のままでは周波数特性は {1-e^儺s}/s だけ加工された状態なわけ
それを減らすには可能な限り細いパルスを作るしかないわけ
そんな細いパルスを精密に出すには、整数倍クロックでゲート作るしかないけど
そんな苦労をするならデジタル信号状態の時にそのクロックで強烈なLPFをかけて、オーバーサンプリングしてしまえばいいって事になるって事
961774ワット発電中さん:2010/11/20(土) 18:43:54 ID:VXpNNS5n
たとえば1.9kHzの正弦波を1msごとにサンプリングしたとして、
サンプリングされたデータがどうなるか、Excelでも何でも
使ってやってみれば良いのよ。
信号レベルまで含めて、果たして本当に元の1.9kHzの正弦波に
戻るかどうか。
元のとおりのレベル一定な正弦波に戻すにはどうしたら良いかって
いうのもわかるんでない?
962774ワット発電中さん:2010/11/20(土) 19:13:31 ID:goJDJz3x
> たとえば1.9kHzの正弦波を1msごとにサンプリングしたとして、

> 信号レベルまで含めて、果たして本当に元の1.9kHzの正弦波に 戻るかどうか。

これが戻ると言ってる人はいないと思うけど。
唐突に何?
963774ワット発電中さん:2010/11/20(土) 20:38:32 ID:VdvFswe1
>>962
サンプリング定理を、2倍と1/2倍で入れ替えて覚えちゃってる脳弱さんなんだろ
964774ワット発電中さん:2010/11/20(土) 23:14:49 ID:/kHNH3UN
499Hzの正弦波を1mSでサンプリングしたとして元の波形に戻るかどうか試してみたらいいんでない?
少なくとも500Hzだとサンプリング開始タイミングによってはゼロのままになってしまうから、完全な再現は不可能だろうな。
499Hzなら再現出来るっていう理屈になるんだろうけど、実際にやると、少しずつ振幅が変わる波形になるなあ。振幅一定の正弦波に戻せるかなあ
965774ワット発電中さん:2010/11/20(土) 23:55:58 ID:T4S2WNtV
戻るよ。実際。
DFじゃないと再現は不可能だけど。
966774ワット発電中さん:2010/11/21(日) 00:10:25 ID:zSxIXIZ6
>>964
499Hz以外の成分があるから、499Hzの振幅が変わっているように見えるだけ。
499Hz成分の振幅は変化なし。
967774ワット発電中さん:2010/11/21(日) 00:18:13 ID:l9bBZSJj
>>964
499Hzの折り返しが501Hzにあるから、499Hzを通過させて501Hzをカットする
ようなLPFが必要。サンプリング周波数を少し高くするのが現実的。
968774ワット発電中さん:2010/11/21(日) 00:46:04 ID:DhXpL0oc
>>964
だからさぁ、波形を見るだけしか脳がないのかよ。
エクセル使ってるなら、ちゃんと計算してみ。
やり方はこうだ。

1. 元データをオーバーサンプリングして0補完する。
2. それにLPFを適用する。特性は499Hzを通して501Hzを通さない程度。たぶん、タップ数爆発。
3. 結果をプロットしてみる。
4. 日頃の行いが良ければきれいな正弦波が現れる。

レポートの提出期限は今日中な。
969774ワット発電中さん:2010/11/21(日) 03:44:50 ID:IGpDSD1l
>1. 元データをオーバーサンプリングして0補完する。
この場合のオーバーサンプリングとは、信号帯域上限周波数の2倍より高い頻度でサンプリングすること
という理解で良いでしょうか?

また、この場合の0補完とは、具体的にどのようなことをするのでしょうか?
970774ワット発電中さん:2010/11/21(日) 05:44:01 ID:RpEbn4g7
>>968
そんな力技に出なくなったて、波形眺めてりゃ、よほどセンスの無い奴以外
は「あぁ、乗算になってるな」ってことで、正弦波の乗算なら和と差が出て
くることになるから、和の方をぶった切れば良いだろう・・なんてことは
計算するまでもなく想像つくだろ。

でも、そういう大前提を抜かして、「サンプリングレートの1/2までOK」
なんて言っちゃう例のなんと多いこと。どちらかといえば、
「どんなにあがいても1/2未満しか再現しようがない」と言うほうが
正しいだろうな。
971774ワット発電中さん:2010/11/21(日) 10:18:43 ID:phcNOzMb
もう、PICの話じゃないだろ....
972774ワット発電中さん:2010/11/21(日) 10:51:51 ID:eDmV48my
PWMで鳴らす時は、ターゲットの周波数よりも遙かに高い周波数に
パルスの周波数を設定しないと、LPFのかけようが無いという話
でも20MHzで駆動してもまだ不足なので、ラダー回路がいい
973774ワット発電中さん:2010/11/21(日) 10:56:26 ID:59KA93ao
>970
> 「どんなにあがいても1/2未満しか再現しようがない」

そんなことはない。エイリアシングによる折り返しが重なってくることが本質だから、
重なってくる元ネタが一つしかないことが明らかなら、それが 0〜0.5fs であろうと 10〜10.5fs であろうと再現できる。
この方法で 65Mspsで200MHzくらいのRFをデコードするようなADCも存在する。
アンダーサンプリングでぐぐれ。



974774ワット発電中さん:2010/11/21(日) 11:09:20 ID:s4DXWiIe
さすがに完全にエイリアスと重なったらどんな処理もムリだな。
存在はするが分離は不可能ってことで。
975774ワット発電中さん:2010/11/21(日) 11:26:30 ID:IL3NTyze
なんか本質からずれてきてる気がするけど・・・
976774ワット発電中さん:2010/11/21(日) 12:31:21 ID:RpEbn4g7
>>973
そりゃあ、曲解の類だろ。もともと
「重なってくる元ネタが一つしかないことが明らかなら」という
条件は入ってないんだから。
確かにネタとしては面白いけどね。
977774ワット発電中さん:2010/11/21(日) 16:34:10 ID:99NjGJPN
>>974
DAするときに、折り返しを利用して中音域のダイナミックレンジを
稼ぐ奴はあるな。
978774ワット発電中さん:2010/11/21(日) 16:55:36 ID:/adyImPp
AD変換や別の処理をしつつ一定の間隔でシリアル送信するにはタイマー割り込みを使うといいのでしょか?
979774ワット発電中さん:2010/11/21(日) 17:42:18 ID:++iyre+r
>>978
時間精度に寄るよなぁ
csmaとかやらんの?
980774ワット発電中さん:2010/11/21(日) 20:39:48 ID:rnJ1Q70A
>>973
「0〜0.5fs であろうと 10〜10.5fs であろうと」帯域幅はFs/2じゃん。
それで揚げ足取ったつもり?
981774ワット発電中さん
>>979
csmaとは何ですか?