<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>PIC+R workbench</title>
	<atom:link href="http://www3.atword.jp/kmgs/feed" rel="self" type="application/rss+xml" />
	<link>http://www3.atword.jp/kmgs</link>
	<description>統計処理言語RやPICマイコンいじり、その他の雑記など。リンク、トラックバック等はご自由にどうぞ。</description>
	<pubDate>Mon, 20 Jul 2009 22:52:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www3.atword.jp/kmgs/feed" />
		<item>
		<title>Rで部分日食の食の入り/食の終わりの時間を計算してみる</title>
		<link>http://www3.atword.jp/kmgs/2009/07/21/r%e3%81%a7%e9%83%a8%e5%88%86%e6%97%a5%e9%a3%9f%e3%81%ae%e9%a3%9f%e3%81%ae%e5%85%a5%e3%82%8a%e9%a3%9f%e3%81%ae%e7%b5%82%e3%82%8f%e3%82%8a%e3%81%ae%e6%99%82%e9%96%93%e3%82%92%e8%a8%88%e7%ae%97%e3%81%97/</link>
		<comments>http://www3.atword.jp/kmgs/2009/07/21/r%e3%81%a7%e9%83%a8%e5%88%86%e6%97%a5%e9%a3%9f%e3%81%ae%e9%a3%9f%e3%81%ae%e5%85%a5%e3%82%8a%e9%a3%9f%e3%81%ae%e7%b5%82%e3%82%8f%e3%82%8a%e3%81%ae%e6%99%82%e9%96%93%e3%82%92%e8%a8%88%e7%ae%97%e3%81%97/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 22:52:44 +0000</pubDate>
		<dc:creator>kmgs</dc:creator>
		
		<category><![CDATA[雑記]]></category>

		<guid isPermaLink="false">http://www3.atword.jp/kmgs/?p=1476</guid>
		<description><![CDATA[
ふと、部分日食の時間を計算で予測できないものかと考え、調べてみたところ山口大学 藤沢研究室に丁寧な解説がありました(PDF)。このドキュメントでは、日食の計算に必要なベッセル要素を数表から出しているのですが、NASAにベッセル要素の近似式パラメータがあったので、試しにそれを使ってみることにしました。作製した関数は以下の通り。

test &#60;- function(phi0=35.658, lambda0=139.741, h=0) {
	# NASAから取ってきたパラメータ (Besselian elements)
	# http://eclipse.gsfc.nasa.gov/SEbeselm/SEbeselm2001/SE2009Jul22Tbeselm.html
	tanf1 &#60;- 0.0046014
	tanf2 &#60;- 0.0045784
	deltaT &#60;- 66.5

	x &#60;- function(t) { 
		 0.239961 + 0.5563955 * t - 0.0000576 * t^2 - 0.0000094 * t^3
	}

	y &#60;- function(t) {
		-0.003276 - 0.1774579 * t - 0.0001344 * t^2 + 0.0000032 * t^3
	}

	d &#60;- function(t) {
		(20.26424  - 0.007874 [...]]]></description>
			<content:encoded><![CDATA[<p>
ふと、部分日食の時間を計算で予測できないものかと考え、調べてみたところ<a href="http://www.astro.sci.yamaguchi-u.ac.jp/~kenta/eclipse/">山口大学 藤沢研究室</a>に丁寧な解説がありました(<a href="http://www.astro.sci.yamaguchi-u.ac.jp/~kenta/eclipse/Eclipse.pdf">PDF</a>)。このドキュメントでは、日食の計算に必要なベッセル要素を数表から出しているのですが、NASAに<a href="http://eclipse.gsfc.nasa.gov/SEbeselm/SEbeselm2001/SE2009Jul22Tbeselm.html">ベッセル要素の近似式パラメータ</a>があったので、試しにそれを使ってみることにしました。作製した関数は以下の通り。<br />
<br />
<div class="hl-surround" style="height:280px;"><div class="hl-main"><pre>test &lt;- function(phi0=35.658, lambda0=139.741, h=0) {
	# NASAから取ってきたパラメータ (Besselian elements)
	# http://eclipse.gsfc.nasa.gov/SEbeselm/SEbeselm2001/SE2009Jul22Tbeselm.html
	tanf1 &lt;- 0.0046014
	tanf2 &lt;- 0.0045784
	deltaT &lt;- 66.5

	x &lt;- function(t) { 
		 0.239961 + 0.5563955 * t - 0.0000576 * t^2 - 0.0000094 * t^3
	}

	y &lt;- function(t) {
		-0.003276 - 0.1774579 * t - 0.0001344 * t^2 + 0.0000032 * t^3
	}

	d &lt;- function(t) {
		(20.26424  - 0.007874  * t - 0.000005  * t^2) / 180 * pi
	}

	l1 &lt;- function(t) {
		 0.530427 + 0.0000063 * t - 0.0000128 * t^2
	}

	l2 &lt;- function(t) {
		-0.015633 + 0.0000063 * t - 0.0000127 * t^2
	}

	mu &lt;- function(t) {
		223.38821 + 15.001004 * t
	}
	# NASAパラメータ 終わり


	# 日食の計算、全面的に以下URLを参考 (山口大学 藤沢研究室)
	# http://www.astro.sci.yamaguchi-u.ac.jp/~kenta/eclipse/
	Q &lt;- function(t, lambda, s2, c2) {
		mu_lambda &lt;- (mu(t) + lambda) / 180 * pi
		dt &lt;- d(t)
		cosd &lt;- cos(dt)
		sind &lt;- sin(dt)
		xi   &lt;- c2 * sin(mu_lambda)
		eta  &lt;- s2 * cosd - c2 * sind * cos(mu_lambda)
		zeta &lt;- s2 * sind + c2 * cosd * cos(mu_lambda)

		L1 &lt;- l1(t) - zeta * tanf1
		L2 &lt;- l2(t) - zeta * tanf2
		delta &lt;- sqrt((x(t) - xi)^2 + (y(t) - eta)^2)
		Q1 &lt;- L1^2 - delta^2
		Q2 &lt;- L2^2 - delta^2
		D &lt;- (L1 - delta) / (L1 + L2)

		t1 &lt;- (t + 3 + 9) * 3600 - deltaT + strptime(&quot;2009-07-22&quot;, format=&quot;%Y-%m-%d&quot;)
		op &lt;- options(digits.secs=2)
		z &lt;- format(t1, &quot;%H:%M:%OS&quot;)
		options(op)
		data.frame(t, z, xi, eta, zeta, L1, L2, delta, Q1, Q2, D)
	}

	# http://www.astro.sci.yamaguchi-u.ac.jp/~kenta/eclipse/Eclipse.pdf
	# 11ページのS値、C値の計算
	phi &lt;- phi0 / 180 * pi
	s0 &lt;- 0.99497430 - 0.00167078 * cos(phi * 2) + 0.00000210 * cos(phi * 4)
	c0 &lt;- 1.00167993 - 0.00168204 * cos(phi * 2) + 0.00000212 * cos(phi * 4)

	s1 &lt;- s0 + h * 0.0000001568
	c1 &lt;- c0 + h * 0.0000001568

	s2 &lt;- s1 * sin(phi)
	c2 &lt;- c1 * cos(phi)

	# 11ページの暦表経度の計算
	lambda &lt;- lambda0 - (15.0410685 * deltaT) / 3600

	# 日食の計算を実行
	res &lt;- Q(seq(-3, 3, 1/14400), lambda, s2, c2)

	# 食の始め、食の最大、食の終わり
	wm &lt;- which.max(res$Q1)
	start &lt;- which.min(abs(res$Q1[1:wm]))
	end &lt;- which.min(abs(res$Q1[wm:nrow(res)])) + wm - 1
	res[c(start, wm, end),]

}</pre></div></div>
<br />
こいつをRのコンソールにペーストするなり、ファイルに書き込んでsource()するなりして読み込み、<br />
<br />
<div class="hl-surround" ><div class="hl-main"><pre>&gt; test()
               t           z         xi       eta      zeta        L1          L2     delta           Q1          Q2            D
13603 -2.0554167 09:55:34.00 -0.3816591 0.2947777 0.8747443 0.5263349 -0.01970453 0.5263334 1.650312e-06 -0.27663854 3.094449e-06
32176 -0.7656250 11:12:57.25 -0.1221117 0.2651806 0.9552503 0.5260192 -0.02001879 0.1472778 2.550054e-01 -0.02128999 7.485002e-01
50749  0.5241667 12:30:20.50  0.1512289 0.2670687 0.9505468 0.5260529 -0.01998517 0.5260528 1.800838e-07 -0.27633211 3.382256e-07</pre></div></div>
<br />
のように、デフォルトでは東京(緯度35.658、経度139.741)に対して、食の入り(1行目)、最大食分(2行目)、食の終わり(3行目)を計算します。ここで、zが2009/7/22に対する日本標準時、Dが食分となります。ここでの計算結果は食の入りが09:55:34.00、最大職分0.749 @ 11:12:57.25、食の終わりが12:30:20.50となります(実際には、月面の凹凸や誤差の伝播を考慮すると、有効数字はここまでないと思われます)。<br />
<br />
また、他の場所の予測を行うには、引数に緯度/経度/高度を与えます。<br />
<div class="hl-surround" ><div class="hl-main"><pre># 福岡: 最大食分の時間が国立天文台の予測時間(10:56:03)と4秒くらいずれている。
&gt; test(33.583, 130.400, 0)
               t           z          xi       eta      zeta        L1          L2      delta
9292  -2.3547917 09:37:36.25 -0.55599852 0.3004395 0.7736686 0.5267812 -0.01926042 0.52677753
28104 -1.0484028 10:55:59.25 -0.31532190 0.2484387 0.9147741 0.5261971 -0.01984177 0.07156466
47743  0.3154167 12:17:49.00 -0.02558462 0.2273055 0.9724397 0.5259531 -0.02008449 0.52596000
                 Q1           Q2             D
9292   3.902627e-06 -0.277123598  7.298681e-06
28104  2.717619e-01 -0.004727805  8.978526e-01
47743 -7.227812e-06 -0.276230536 -1.358280e-05</pre></div></div>
<br />
なお、<a href="http://www.nao.ac.jp/koyomi/koyomix/eclipsex_s.html">国立天文台の予測</a>と比較すると、食の入り・食の終わりは±1秒、最大食分時間には±5秒くらいのずれがあるようです。どこかでミスっているかもしれませんので、上記プログラムの結果はあくまで目安としてお考えください。<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www3.atword.jp/kmgs/2009/07/21/r%e3%81%a7%e9%83%a8%e5%88%86%e6%97%a5%e9%a3%9f%e3%81%ae%e9%a3%9f%e3%81%ae%e5%85%a5%e3%82%8a%e9%a3%9f%e3%81%ae%e7%b5%82%e3%82%8f%e3%82%8a%e3%81%ae%e6%99%82%e9%96%93%e3%82%92%e8%a8%88%e7%ae%97%e3%81%97/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www3.atword.jp/kmgs/2009/07/21/r%e3%81%a7%e9%83%a8%e5%88%86%e6%97%a5%e9%a3%9f%e3%81%ae%e9%a3%9f%e3%81%ae%e5%85%a5%e3%82%8a%e9%a3%9f%e3%81%ae%e7%b5%82%e3%82%8f%e3%82%8a%e3%81%ae%e6%99%82%e9%96%93%e3%82%92%e8%a8%88%e7%ae%97%e3%81%97/" />
	</item>
		<item>
		<title>ハクビシン(?) 目撃</title>
		<link>http://www3.atword.jp/kmgs/2009/07/10/%e3%83%8f%e3%82%af%e3%83%93%e3%82%b7%e3%83%b3-%e7%9b%ae%e6%92%83/</link>
		<comments>http://www3.atword.jp/kmgs/2009/07/10/%e3%83%8f%e3%82%af%e3%83%93%e3%82%b7%e3%83%b3-%e7%9b%ae%e6%92%83/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 16:20:48 +0000</pubDate>
		<dc:creator>kmgs</dc:creator>
		
		<category><![CDATA[雑記]]></category>

		<guid isPermaLink="false">http://www3.atword.jp/kmgs/?p=1466</guid>
		<description><![CDATA[
7/10 23:50ごろ、マンションの庭から"ケケケケケ、ケケケケケ"と奇妙な声がしました。最初は鳥かと思ったのですが、カミさんと覗いてみると、体長40cmほど、尻尾が20cm程度のタヌキのようなズングリした動物がゆっ [...]]]></description>
			<content:encoded><![CDATA[<p>
7/10 23:50ごろ、マンションの庭から"ケケケケケ、ケケケケケ"と奇妙な声がしました。最初は鳥かと思ったのですが、カミさんと覗いてみると、体長40cmほど、尻尾が20cm程度のタヌキのようなズングリした動物がゆっくり歩いていました。<br />
動物の声は「ハクビシンの不安なときの声」(<a href="http://www.city.omachi.nagano.jp/sanpaku/nakigoe.htm">泣き声大全集</a>)と似ていました。文京区に引っ越してきて3年半になりますが、こんな動物に遭遇するとは予想していませんでした。写真かビデオにでも残しておけば良かった...。<br />
<br />
調べてみたら、23区内でも目撃例(<a href="http://nvc.halsnet.com/jhattori/kamisyo/katsudou/no68/hinode2007_2.htm">区役所への聞き取り調査</a>、<a href="http://nvc.halsnet.com/jhattori/kamisyo/katsudou/no68/hinode2007_2.htm">東京タヌキ探検隊</a>など)は少なくないようですね。<br />
<br />
そういえば、今年の春先ごろから雨の日になるとマンションの駐車場の植え込みに体長10cmほどのヒキガエルが出現したり、先々週あたりは神田明神近辺でシマヘビに遭遇したりと、意外な場所で意外な動物に遭遇することが多いです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www3.atword.jp/kmgs/2009/07/10/%e3%83%8f%e3%82%af%e3%83%93%e3%82%b7%e3%83%b3-%e7%9b%ae%e6%92%83/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www3.atword.jp/kmgs/2009/07/10/%e3%83%8f%e3%82%af%e3%83%93%e3%82%b7%e3%83%b3-%e7%9b%ae%e6%92%83/" />
	</item>
		<item>
		<title>PICで正弦波 (6)</title>
		<link>http://www3.atword.jp/kmgs/2009/06/19/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-6/</link>
		<comments>http://www3.atword.jp/kmgs/2009/06/19/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-6/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 17:56:24 +0000</pubDate>
		<dc:creator>kmgs</dc:creator>
		
		<category><![CDATA[PIC24HJ12GP202]]></category>

		<guid isPermaLink="false">http://www3.atword.jp/kmgs/?p=1455</guid>
		<description><![CDATA[
このへん(その1、その2、その3、その4、その5)の続き。
デルタシグマ変調を2次にしてみたところ、THD 0.005%、THD+N 0.23%となりました。もう少しTHD+Nを追い込めないものか、検討中です。ちなみに [...]]]></description>
			<content:encoded><![CDATA[<p>
このへん(<a href="http://www3.atword.jp/kmgs/2009/05/23/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-%e3%83%87%e3%83%ab%e3%82%bf%e3%82%b7%e3%82%b0%e3%83%9e%e5%a4%89%e8%aa%bf%e5%99%a8/">その1</a>、<a href="http://www3.atword.jp/kmgs/2009/05/25/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-2/">その2</a>、<a href="http://www3.atword.jp/kmgs/2009/05/29/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-3/">その3</a>、<a href="http://www3.atword.jp/kmgs/2009/06/05/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-4/">その4</a>、<a href="http://www3.atword.jp/kmgs/2009/06/17/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-5/">その5</a>)の続き。<br />
デルタシグマ変調を2次にしてみたところ、THD 0.005%、THD+N 0.23%となりました。もう少しTHD+Nを追い込めないものか、検討中です。ちなみにSPI出力は、現状で1.667Mbps (インストラクションサイクル40MHz の1/24)です。<br />
<br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/06/20090619delta_sigma.png"><img src="http://www3.atword.jp/kmgs/files/2009/06/20090619delta_sigma-300x260.png" alt="" title="20090619delta_sigma" width="300" height="260" class="alignnone size-medium wp-image-1456" /></a><br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www3.atword.jp/kmgs/2009/06/19/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-6/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www3.atword.jp/kmgs/2009/06/19/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-6/" />
	</item>
		<item>
		<title>PICで正弦波 (5)</title>
		<link>http://www3.atword.jp/kmgs/2009/06/17/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-5/</link>
		<comments>http://www3.atword.jp/kmgs/2009/06/17/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-5/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 17:04:13 +0000</pubDate>
		<dc:creator>kmgs</dc:creator>
		
		<category><![CDATA[PIC24HJ12GP202]]></category>

		<guid isPermaLink="false">http://www3.atword.jp/kmgs/?p=1444</guid>
		<description><![CDATA[
このへん(その1、その2、その3、その4)の続き。
SPI出力を直接LPFで取り出した場合、2次の高調波が出現するため、原因が分からずにしばらく悩んでいました。PICのソースをいじってDDS化を試みたりしていたのですが [...]]]></description>
			<content:encoded><![CDATA[<p>
このへん(<a href="http://www3.atword.jp/kmgs/2009/05/23/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-%e3%83%87%e3%83%ab%e3%82%bf%e3%82%b7%e3%82%b0%e3%83%9e%e5%a4%89%e8%aa%bf%e5%99%a8/">その1</a>、<a href="http://www3.atword.jp/kmgs/2009/05/25/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-2/">その2</a>、<a href="http://www3.atword.jp/kmgs/2009/05/29/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-3/">その3</a>、<a href="http://www3.atword.jp/kmgs/2009/06/05/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-4/">その4</a>)の続き。<br />
SPI出力を直接LPFで取り出した場合、2次の高調波が出現するため、原因が分からずにしばらく悩んでいました。PICのソースをいじってDDS化を試みたりしていたのですが、2次の高調波はデルタシグマ変調に関わる問題ではなかったようです。<br />
オシロでSPI出力を追っていたら、High側の出力電圧が荒れていることに気づき、ためしに<del datetime="00">クランプダイオードで適当に落としてみたところ</del> ダイオードでリミッタを掛けたところ、それなりの改善が見られました。<br />
<br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/06/20090617before_clamp.png"><img src="http://www3.atword.jp/kmgs/files/2009/06/20090617before_clamp-300x258.png" alt="" title="20090617before_clamp" width="300" height="258" class="alignnone size-medium wp-image-1445" /></a><br />
↑ リミット前: 2kHzが-64dBくらい<br />
<br />
<br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/06/20090617after_clamp.png"><img src="http://www3.atword.jp/kmgs/files/2009/06/20090617after_clamp-300x258.png" alt="" title="20090617after_clamp" width="300" height="258" class="alignnone size-medium wp-image-1446" /></a><br />
↑ リミット後: 2kHzが-84dBくらい<br />
<br />
リミッタの条件は検討中ですが、現時点ではSPI出力に100Ωを噛ませて、小信号用シリコンダイオード-&gt;Vcc/2 (1kΩ x 2で作った中点)でクランプした出力を12kΩ+0.01uFのLPFに通し、ボルテージフォロアに入力しています。小信号用シリコンダイオードは1S1588と1N4148を試してみましたが、大差ないようです(手元の整流用ショットキーダイオードでは、どうやら波形がなまって逆効果)。<br />
<br />
2009/06/19訂正: クランプ回路も試したのですが、最終的にはリミッタ回路を採用しました。図はリミッタ回路のものです。<br />
<br />
[ <a href="http://www3.atword.jp/kmgs/2009/06/19/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-6/">その6</a> ]<br />
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www3.atword.jp/kmgs/2009/06/17/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-5/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www3.atword.jp/kmgs/2009/06/17/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-5/" />
	</item>
		<item>
		<title>PICで正弦波 (4)</title>
		<link>http://www3.atword.jp/kmgs/2009/06/05/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-4/</link>
		<comments>http://www3.atword.jp/kmgs/2009/06/05/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-4/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 18:47:03 +0000</pubDate>
		<dc:creator>kmgs</dc:creator>
		
		<category><![CDATA[PIC24HJ12GP202]]></category>

		<guid isPermaLink="false">http://www3.atword.jp/kmgs/?p=1436</guid>
		<description><![CDATA[
このへん(その1、その2、その3)の続き。
だんだんマトモになってきました。現状でTHD 0.04%、THD+N 0.26%くらいです。


[ その5へ ]

]]></description>
			<content:encoded><![CDATA[<p>
このへん(<a href="http://www3.atword.jp/kmgs/2009/05/23/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-%e3%83%87%e3%83%ab%e3%82%bf%e3%82%b7%e3%82%b0%e3%83%9e%e5%a4%89%e8%aa%bf%e5%99%a8/">その1</a>、<a href="http://www3.atword.jp/kmgs/2009/05/25/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-2/">その2</a>、<a href="http://www3.atword.jp/kmgs/2009/05/29/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-3/">その3</a>)の続き。<br />
だんだんマトモになってきました。現状でTHD 0.04%、THD+N 0.26%くらいです。<br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/06/20090605delta_sigma.png"><img src="http://www3.atword.jp/kmgs/files/2009/06/20090605delta_sigma-300x258.png" alt="" title="20090605delta_sigma" width="300" height="258" class="alignnone size-medium wp-image-1437" /></a><br />
<br />
[ <a href="http://www3.atword.jp/kmgs/2009/06/17/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-5/">その5へ</a> ]<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www3.atword.jp/kmgs/2009/06/05/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-4/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www3.atword.jp/kmgs/2009/06/05/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-4/" />
	</item>
		<item>
		<title>PICで三角波と鋸波</title>
		<link>http://www3.atword.jp/kmgs/2009/06/02/pic%e3%81%a7%e4%b8%89%e8%a7%92%e6%b3%a2%e3%81%a8%e9%8b%b8%e6%b3%a2/</link>
		<comments>http://www3.atword.jp/kmgs/2009/06/02/pic%e3%81%a7%e4%b8%89%e8%a7%92%e6%b3%a2%e3%81%a8%e9%8b%b8%e6%b3%a2/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 19:16:58 +0000</pubDate>
		<dc:creator>kmgs</dc:creator>
		
		<category><![CDATA[PIC24HJ12GP202]]></category>

		<guid isPermaLink="false">http://www3.atword.jp/kmgs/?p=1425</guid>
		<description><![CDATA[
このへん(その1、その2、その3)の続き。
2値量子化2次デルタシグマ変調(1.024MHz)をPIC上でリアルタイムで行い、SPIを使って1kHzの三角波と鋸波を出力してみました。三角波はそれなりの形をしていますが、 [...]]]></description>
			<content:encoded><![CDATA[<p>
このへん(<a href="http://www3.atword.jp/kmgs/2009/05/23/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-%e3%83%87%e3%83%ab%e3%82%bf%e3%82%b7%e3%82%b0%e3%83%9e%e5%a4%89%e8%aa%bf%e5%99%a8/">その1</a>、<a href="http://www3.atword.jp/kmgs/2009/05/25/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-2/">その2</a>、<a href="http://www3.atword.jp/kmgs/2009/05/29/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-3/">その3</a>)の続き。<br />
2値量子化2次デルタシグマ変調(1.024MHz)をPIC上でリアルタイムで行い、SPIを使って1kHzの三角波と鋸波を出力してみました。三角波はそれなりの形をしていますが、少し鈍り気味です。鋸波はさらに鈍っており、ゼロ点付近で崩れています。コードがバグっているのか、LPFの調整が適当すぎるのか。<br />
もう少し追い込みが必要そうです。<br />
<br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/06/20090602tri.png"><img src="http://www3.atword.jp/kmgs/files/2009/06/20090602tri-300x219.png" alt="" title="20090602tri" width="300" height="219" class="alignnone size-medium wp-image-1427" /></a><br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/06/20090602saw.png"><img src="http://www3.atword.jp/kmgs/files/2009/06/20090602saw-300x219.png" alt="" title="20090602saw" width="300" height="219" class="alignnone size-medium wp-image-1426" /></a><br />
<br />
[ <a href="http://www3.atword.jp/kmgs/2009/06/05/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-4/">続き</a> ]<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www3.atword.jp/kmgs/2009/06/02/pic%e3%81%a7%e4%b8%89%e8%a7%92%e6%b3%a2%e3%81%a8%e9%8b%b8%e6%b3%a2/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www3.atword.jp/kmgs/2009/06/02/pic%e3%81%a7%e4%b8%89%e8%a7%92%e6%b3%a2%e3%81%a8%e9%8b%b8%e6%b3%a2/" />
	</item>
		<item>
		<title>PICで正弦波 (3)</title>
		<link>http://www3.atword.jp/kmgs/2009/05/29/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-3/</link>
		<comments>http://www3.atword.jp/kmgs/2009/05/29/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-3/#comments</comments>
		<pubDate>Thu, 28 May 2009 18:15:04 +0000</pubDate>
		<dc:creator>kmgs</dc:creator>
		
		<category><![CDATA[PIC24HJ12GP202]]></category>

		<guid isPermaLink="false">http://www3.atword.jp/kmgs/?p=1411</guid>
		<description><![CDATA[
前回の続き(その1、その2)。
自力でI/Oピンの出力をタイマー制御で上げ下げしていたのですが、SPIで連続データを送信すれば実装が格段に楽になることに気づきました。調子に乗って、74HC164 (8ビットシフトレジス [...]]]></description>
			<content:encoded><![CDATA[<p>
前回の続き(<a href="http://www3.atword.jp/kmgs/2009/05/23/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-%e3%83%87%e3%83%ab%e3%82%bf%e3%82%b7%e3%82%b0%e3%83%9e%e5%a4%89%e8%aa%bf%e5%99%a8/">その1</a>、<a href="http://www3.atword.jp/kmgs/2009/05/25/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-2/">その2</a>)。<br />
自力でI/Oピンの出力をタイマー制御で上げ下げしていたのですが、SPIで連続データを送信すれば実装が格段に楽になることに気づきました。調子に乗って、74HC164 (<a href="http://www.semicon.toshiba.co.jp/docs/datasheet/ja/LogicIC/TC74HC164AF_TC74HC164AP_ja_datasheet_071001.pdf">8ビットシフトレジスタ</a>)にデータとクロックを送り込み、8タップの移動平均を取ってみました。下図では各ビットはつぶれていますが、意図した動作はしているようです。<br />
<br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/05/20090529moving_average.png"><img class="alignnone size-medium wp-image-1412" title="20090529moving_average" src="http://www3.atword.jp/kmgs/files/2009/05/20090529moving_average-300x219.png" alt="" width="300" height="219" /></a><br />
<br />
これを簡単なRCフィルタ(カットオフ1.06kHz)によるLPFに通すと、こんな感じになります。<br />
<br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/05/20090529moving_average_lpf1.png"><img src="http://www3.atword.jp/kmgs/files/2009/05/20090529moving_average_lpf1-300x219.png" alt="" title="20090529moving_average_lpf1" width="300" height="219" class="alignnone size-medium wp-image-1417" /></a><br />
<br />
LPFによってずいぶん変わりますが、上記のカットオフ1.06kHzでは依然として高調波が出ています。<br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/05/20090529moving_average_ws1.png"><img src="http://www3.atword.jp/kmgs/files/2009/05/20090529moving_average_ws1-300x258.png" alt="" title="20090529moving_average_ws1" width="300" height="258" class="alignnone size-medium wp-image-1416" /></a><br />
<br />
また、4.096MHｚの水晶振動子を付け、内蔵PLLで32.768MHzの動作としています。<br />
<br />
[ <a href="http://www3.atword.jp/kmgs/2009/06/02/pic%e3%81%a7%e4%b8%89%e8%a7%92%e6%b3%a2%e3%81%a8%e9%8b%b8%e6%b3%a2/">続き</a> ]<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www3.atword.jp/kmgs/2009/05/29/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-3/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www3.atword.jp/kmgs/2009/05/29/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-3/" />
	</item>
		<item>
		<title>PICで正弦波 (2)</title>
		<link>http://www3.atword.jp/kmgs/2009/05/25/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-2/</link>
		<comments>http://www3.atword.jp/kmgs/2009/05/25/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-2/#comments</comments>
		<pubDate>Sun, 24 May 2009 18:52:49 +0000</pubDate>
		<dc:creator>kmgs</dc:creator>
		
		<category><![CDATA[PIC24HJ12GP202]]></category>

		<guid isPermaLink="false">http://www3.atword.jp/kmgs/?p=1406</guid>
		<description><![CDATA[
ここの続き。
Rで2値量子化1次デルタシグマ変調の計算を行い、1周期の正弦波を1024bitのビット列に落とし込みました。これを77.2MHz (33.6MIPS)で動かしているPIC24HJ12GP202にプログラミ [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://www3.atword.jp/kmgs/2009/05/23/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-%e3%83%87%e3%83%ab%e3%82%bf%e3%82%b7%e3%82%b0%e3%83%9e%e5%a4%89%e8%aa%bf%e5%99%a8/">ここ</a>の続き。<br />
Rで2値量子化1次デルタシグマ変調の計算を行い、1周期の正弦波を1024bitのビット列に落とし込みました。これを77.2MHz (33.6MIPS)で動かしているPIC24HJ12GP202にプログラミングし、タイマーで約1マイクロ秒ごとに出力ピンの状態を変化させました。WaveSpectraで見ると、こんな感じ。<br />
<br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/05/20090525delta-sigma.png"><img src="http://www3.atword.jp/kmgs/files/2009/05/20090525delta-sigma-300x243.png" alt="" title="20090525delta-sigma" width="300" height="243" class="alignnone size-medium wp-image-1407" /></a><br />
<br />
信号が1012Hzで-6dB、高調波は軒並み-60dBとなっていますので、SN比は先日の512bitの場合からは10dB程度改善しています。これはRでシミュレートした結果(未掲)とほぼ一致します。<br />
これ以上SN比を稼ぐためには、オーバーサンプリングの周波数を増やす、多値量子化する、デルタシグマ変換の次数を上げる、といったことが必要そうです。<br />
<br />
[ <a href="http://www3.atword.jp/kmgs/2009/05/29/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-3/">続き</a> ]<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www3.atword.jp/kmgs/2009/05/25/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-2/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www3.atword.jp/kmgs/2009/05/25/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-2/" />
	</item>
		<item>
		<title>PICで正弦波 (デルタシグマ変調器)</title>
		<link>http://www3.atword.jp/kmgs/2009/05/23/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-%e3%83%87%e3%83%ab%e3%82%bf%e3%82%b7%e3%82%b0%e3%83%9e%e5%a4%89%e8%aa%bf%e5%99%a8/</link>
		<comments>http://www3.atword.jp/kmgs/2009/05/23/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-%e3%83%87%e3%83%ab%e3%82%bf%e3%82%b7%e3%82%b0%e3%83%9e%e5%a4%89%e8%aa%bf%e5%99%a8/#comments</comments>
		<pubDate>Fri, 22 May 2009 21:18:01 +0000</pubDate>
		<dc:creator>kmgs</dc:creator>
		
		<category><![CDATA[PIC24HJ12GP202]]></category>

		<guid isPermaLink="false">http://www3.atword.jp/kmgs/?p=1390</guid>
		<description><![CDATA[
久々にPICをいじっています。
2009年4月号のトラ技で、dsPICを用いてデルタシグマ変換により正弦波を生成する記事がありました。普通のPICでもできないかと考え、以前オシロもどきの実験(このへん)に使っていたPI [...]]]></description>
			<content:encoded><![CDATA[<p>
久々にPICをいじっています。<br />
<a href="http://toragi.cqpub.co.jp/tabid/196/Default.aspx">2009年4月号のトラ技</a>で、dsPICを用いてデルタシグマ変換により正弦波を生成する記事がありました。普通のPICでもできないかと考え、以前オシロもどきの実験(<a href="http://www3.atword.jp/kmgs/2009/01/27/%E7%AE%B1%E5%BA%AD/">このへん</a>)に使っていたPIC24HJ12GP202の環境を解体し、作製を進めています。<br />
現在1ビットD-A変換を検討しており、あらかじめR上で正弦波を512ビット程度に変換したデータを作製しておき、これをプログラムに埋め込んでPICに焼いています。<br />
<br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/05/20090523delta-sigma_b.png"><img src="http://www3.atword.jp/kmgs/files/2009/05/20090523delta-sigma_b-294x300.png" alt="" title="20090523delta-sigma_b" width="294" height="300" class="alignnone size-medium wp-image-1394" /></a><br />
右がPIC、左はフラッシュROM書き込み兼UART通信用のFT232Rです。勝手に作ったPIC開発環境ですが、それなりに使えます。<br />
<br />
続いてオシロの波形。CH2(青)がPICからの出力、CH1(黄)がLPF通過後の波形です。適当なRCフィルタを噛ませているのですが、位相がずれていますね。<br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/05/20090523delta-sigma-o.png"><img src="http://www3.atword.jp/kmgs/files/2009/05/20090523delta-sigma-o.png" alt="" title="20090523delta-sigma-o" width="320" height="234" class="alignnone size-full wp-image-1400" /></a><br />
<br />
まだまだ完成には程遠いものの、XR-2206に近いくらいの歪み率には追い込めそうです。<br />
<a rel="lightbox" href="http://www3.atword.jp/kmgs/files/2009/05/20090523delta-sigma.png"><img src="http://www3.atword.jp/kmgs/files/2009/05/20090523delta-sigma-300x243.png" alt="" title="20090523delta-sigma" width="300" height="243" class="alignnone size-medium wp-image-1391" /></a><br />
<br />
[ <a href="http://www3.atword.jp/kmgs/2009/05/23/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-%e3%83%87%e3%83%ab%e3%82%bf%e3%82%b7%e3%82%b0%e3%83%9e%e5%a4%89%e8%aa%bf%e5%99%a8/">続き</a> ]<br />
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www3.atword.jp/kmgs/2009/05/23/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-%e3%83%87%e3%83%ab%e3%82%bf%e3%82%b7%e3%82%b0%e3%83%9e%e5%a4%89%e8%aa%bf%e5%99%a8/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www3.atword.jp/kmgs/2009/05/23/pic%e3%81%a7%e6%ad%a3%e5%bc%a6%e6%b3%a2-%e3%83%87%e3%83%ab%e3%82%bf%e3%82%b7%e3%82%b0%e3%83%9e%e5%a4%89%e8%aa%bf%e5%99%a8/" />
	</item>
		<item>
		<title>オシロの自動校正</title>
		<link>http://www3.atword.jp/kmgs/2009/05/19/%e3%82%aa%e3%82%b7%e3%83%ad%e3%81%ae%e8%87%aa%e5%8b%95%e6%a0%a1%e6%ad%a3/</link>
		<comments>http://www3.atword.jp/kmgs/2009/05/19/%e3%82%aa%e3%82%b7%e3%83%ad%e3%81%ae%e8%87%aa%e5%8b%95%e6%a0%a1%e6%ad%a3/#comments</comments>
		<pubDate>Mon, 18 May 2009 18:38:19 +0000</pubDate>
		<dc:creator>kmgs</dc:creator>
		
		<category><![CDATA[オシロスコープ]]></category>

		<guid isPermaLink="false">http://www3.atword.jp/kmgs/?p=1384</guid>
		<description><![CDATA[
そういえば、最近気温が上がってきたので、オシロの自動校正を掛けておきました。
Rigol DS1202CAを使っているのですが、校正終了時にトリガや画面表示等の設定が工場出荷時の状態に戻ってしまうのが難点です。
波形取 [...]]]></description>
			<content:encoded><![CDATA[<p>
そういえば、最近気温が上がってきたので、オシロの自動校正を掛けておきました。<br />
Rigol DS1202CAを使っているのですが、校正終了時にトリガや画面表示等の設定が工場出荷時の状態に戻ってしまうのが難点です。<br />
波形取り込みソフトでPC側に設定を吸い上げておき、校正が終わったら書き戻せばよいのだろうか。</p>
]]></content:encoded>
			<wfw:commentRss>http://www3.atword.jp/kmgs/2009/05/19/%e3%82%aa%e3%82%b7%e3%83%ad%e3%81%ae%e8%87%aa%e5%8b%95%e6%a0%a1%e6%ad%a3/feed/</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www3.atword.jp/kmgs/2009/05/19/%e3%82%aa%e3%82%b7%e3%83%ad%e3%81%ae%e8%87%aa%e5%8b%95%e6%a0%a1%e6%ad%a3/" />
	</item>
	</channel>
</rss>

