ますはらの日記(?)

無線通信の勉強をしてる学生のぼやき(?)

環境の大切さ

どうも、こんばんは。
TeamJ Advent Calendar 2016 - Adventarの11日目の記事になります。

ブログって頻繁に更新するもんじゃないですね、ネタが尽きます(笑)
ということで、最近ふと思った、ちょっと真面目なことについて書こうと思います。

自分の身を置く「環境」ってすごく大事だと思いませんか?
学校、友達、部活・サークル、委員会、バイト先、研究室...
様々な場があり、自分の身の回りがそれれによって大きく変化します。
僕の推しメンであるAKB48横山由依さんも去年は正式に総監督になって、この1年は「環境」が相当変わったのではないか?と考えています。。。
「海外逃亡したい」何がAKB総監督・横山由依を苦悩させるのか
↑この記事を見ると「環境」によって大きく心情も変わってしまうことがわかります。

ここからは、自分の話に戻したいと思います(笑)

自分の所属する研究室はかなり高いレベルを目指して日々取り組んでいます。
自分が「ここに進みたい!」、「ここならきちんと研究に打ち込める!」、そう思って志望し、四苦八苦しつつも充実した時間を過ごせています。
最近では、他大学との合同輪講が行われていて、参加するものの、普段での考え方や物事への突き詰め方みたいなものがまるで違いました。

正直なところ、自分達で輪講を開いた方がいいんじゃないか?ってくらいに拍子抜けしてしまい、いかに自分が恵まれ、充実した環境にいるということを認識しました。

学生としていられれるのも大学院を含めても残り数年、社会に出る前に「充実した環境」に身を置けるように精進し、自ら「充実した環境」を作り出せるようになれればな、と思っています。

みなさんも身を置く「環境」に少し意識を注いであげてみてはいかがでしょうか?
それでは、また。

12月8日

みなさん、どうも。
これはTeamJ Advent Calendar 2016 - Adventarの8日目の記事です。

今日、12月8日は特別な日なのです。
それは、自分が推している横山由依さんの誕生日なのです(((o(*゚▽゚*)o)))
そして、AKB48劇場のオープン日でもあり、無事12年目に突入しました。

今日はその日を記念する公演があります。(自分は研究の進捗があまり良くないので観れてはいないのですが。。。)
そういう節目をきちんと大事に迎えてあげる、そういった姿勢がいまだに好意を持てる理由なのかもしれません(完全なヲタク目線)

あっ、ついでなんですが、今通ってる大学の創立記念日でもあります。
相変わらず、平常通り講義を行ってるので記念すべき日なのかどうかも怪しいものです。。。笑

なんだかんだ、大学1年の時の夏頃から応援していて、今は離れ気味ではあるものの、こうして頭の中に浮かぶ。。。
そういう思い出などを思い出させてくれるような節目って良いものだなぁ、と思う今日この頃でした( ´ ▽ ` )

みなさんも、是非12月8日は横山由依さんの誕生日だと覚えてください(笑)

懐かしいゲーム

みなさん、こんばんは。
そして、お久しぶりです(笑)

この記事は
TeamJ Advent Calendar 2016 - Adventarの5日目の記事です。

最近では、卒業研究に苦戦を強いられる日々でかなり焦っています(^_^;)
マニアックすぎるテーマなので仕方のないことだなと諦めの境地です(笑)

余談はこのくらいにして、本題にいきましょう。
先日、大学の学園祭が行われました。
その最終日に研究室で飲み会をやるのかな?とも思ったのですが、その2日後に飲み会が予定されていたのでさすがにやることもなく、ひょんなことから大学の友達とゲリラ飲み会をしました(笑)
というより、ゲリラ飲み会に付き合ってくれる友達っていると良いですよね〜( ´ ▽ ` )

飲み会では卒業研究の話題、そして、1つ下の学年では熱い研究室配属を迎えている最中なのでその話もしていました。結局、みんな研究は好きなんです。(いや、違う)
その飲み会後、一人暮らししている友人宅で2次会をやることに。

友人宅に向かう途中から「昔、どんなアニメを見ていたか?」という話題が発端でした。
みんなで「あ〜、見てたわ〜」とか「そんなんあったっけ〜?」みたいな感じで会話が弾み、やがてゲームの話へ。。。

今はポケモンサンムーンがものすごく流行っています。今でこそゲームから離れてしまいましたが、昔はポケモンを筆頭に結構やっていました。
そんな中、話題に上がり盛り上がったのが「ロックマンエグゼ」シリーズです。

いやー、ついつい懐かしさのあまりその日のうちにYouTubeで検索し、プレイ動画を見ながら「こんなやついたなー!!」とか「こんなキャラいたっけ??」みたいな話で笑いが起きる。
こうやってみんなで共通の話題で盛り上がれるという点においてはゲームもアニメも決して悪くないなって思います。

自分が主にやっていたのはロックマンエグゼ4から6までとその「ロックマンエグゼ」シリーズから「流星のロックマン」シリーズに変わって1作目の流星のロックマン1です。
これを機にまたゲーム機本体とソフトを買い揃えてやってみようかな〜とか考えてます。
もし、購入してやることがあればブログに書きたいです。
皆さんも昔遊んだゲームについて思い出したり話したりしてみてはいかがでしょう?
結構、盛り上がるのでオススメです( ^ω^ )

それでは、明日もお楽しみに!

Cython始めました1

どうも、お久しぶりです(笑)
研究室生活が始まって慣れるまでに相当時間がかかってしまい、ブログを再開するのに約半年掛かってしまうハメになっちゃいました(・・;)

せっかくブログを再開できそうなので、何かしたいなーという思いがあったので今回は“Cython”を用いた数値解析に挑戦していきます。


何故Cythonなのか?というと、僕は無線通信に関する研究室に入り様々な計算機シミュレーションをする機会があるのですが、C言語でやっているとやたらと面倒な場面が多いので今まで勉強していた(途中で放り投げてしまいましたが...笑)Pythonの数値解析に便利なモジュールを用いて楽に行いたい!
けど、試行回数が多い計算機シミュレーションでは通常のPythonではC言語に比べて遥かに処理速度が遅く実用的ではない感じになります。

そこでPythonとほぼ同じように各種のモジュールを用いることができるのにもかかわらず、処理速度が割と速いCythonに注目したのである。


今回はCythonの導入とちょっとしたPythonとCythonの比較を行いました(*゚▽゚*)
なお、自分はMacbook Airを用います。そこだけ注意してください。あとはpython3の方に入ってしまっているので実行等する際はpython3で行っています。

それでは、まずCythonの導入です。
これはpipを用いることで簡単に導入できます。

pip install cython

この1行でエラーなどを吐かなければ問題なく使えるはずです!


次は実際にコンパイルして実行する手順です。今回はpyximportを用いた手順のみ紹介します。
例はフィボナッチ数列の計算になります。
(1)pyxファイルを作成

# fib.pyx
#! -*- coding: utf-8 -*-

def fib(int n):
  cdef int i
  cdef double a=0.0, b=1.0
  for i in range(n):
    a, b = a + b, a
  return a

ここでの"cdef"文はC版に静的に片付けしている。

(2)pyximportによって使用

$ python3
>>> import pyximport
>>> pyximport.install()
(None, <pyximport.pyximport.PyxImporter object at 0x10619e240>)
>>> import fib
>>> fib.fib(90)
2.880067194370816e+18

ちなみに、このpyximportは普通に.pyファイルにも組み込んでfibをimportして関数fib()を用いることができます。


最後にPythonとの処理速度を比較してみました。
比較するために以下の2つのファイル(普通の.pyファイルとCythonを適用した.pyファイル)を実行させた。
(i)普通の.pyファイル

# fib.py
#! -*- coding: utf-8 -*-

import time
start = time.time()

def fib(n):
    a, b = 0.0, 1.0
    for i in range(n):
        a, b = a + b, a
    return a

for i in range(1000):

    c = fib(90)

elapsed_time = time.time() - start
print("elapsed_time:{0}".format(elapsed_time))

(ii)Cythonを用いた.pyファイル

# sample.py
#! -*- coding: utf-8 -*-

import time
start = time.time()

import pyximport
pyximport.install()
import fib

for i in range(1000):

    a = fib.fib(90)

elapsed_time = time.time() - start
print("elapsed_time:{0}".format(elapsed_time))


実際に計測した結果は次のようになりました。

関数の実行繰り返し回数: 1000
$ python3 fib.py
elapsed_time:0.006333112716674805
$ python3 sample.py
elapsed_time:0.012300968170166016

関数の繰り返し回数: 100000
$ python3 fib.py
elapsed_time:0.5685431957244873
$ python3 sample.py
elapsed_time:0.041645050048828125

この結果から考えると、関数にループを用いた処理が含まれる場合、試行回数が増えれば増えるほど処理速度の改善が目に見えることがわかりました。
参考にこの本を用いています。↓

Cython ―Cとの融合によるPythonの高速化

Cython ―Cとの融合によるPythonの高速化

Cythonの勉強にはもってこいだと思いますので興味ある人は是非見てみてください。

すごく簡単なことしかできてませんが、これから徐々に進めていって、いずれはシミュレーションも行っていきたいと思います。
次回はいつになるかは未定ですが、ブログ更新したいと思います(笑)

それでは、また。

テールビット

どうも。今日も気楽に書きたいと思います。

 

早速ですが、タイトルに書いた「テールビット」とは、一体何でしょう?

 

説明しよう!

畳み込み符号を用いた通信を行う際に、実際に送信したいデータの後ろに余分なビット列を付加することで、畳み込み符号を生成する際に用いるメモリを初期状態(通常、全部0が入った状態)に戻し、畳み込み符号を復号(ビタビ復号)する際により正確に元のデータに復号する。

この時に付加される余分なビットこそがテールビットなのだ!

気になる方は「畳み込み符号」とか「テールビット」って調べるとよくわかりますよ〜

ここではあえて引用したりしないでおきます。(ただ単に選ぶのがめんどくさい←

 

まぁ、茶番?はこのくらいにしましょう(笑)

最近では畳み込み符号を用いた通信のシミュレーションに取り組んでいるのですが、ビタビ復号も実装に手間取っていますが、同時にテールビットの生成も手間取っていました。

畳み込み符号を生成するときのメモリ数に応じて付加するテールビットの長さも変わりますし、何より状態遷移を考慮して考えるのがもう。。。

 

ところが、明朝3時に64状態の非組織的で再帰式の符号器におけるテールビットの生成関数(符号器に組み込んでしまっているので単体の関数ではないですが)を作ることができました(笑)

ランダムに生成した送信信号を元に、何回も何回も腐るほど実行し、確認。

最後のメモリの状態が初期状態に戻っている。すごく気持ちいい。

 

こんな感じで充実しております(笑)

 

余談ですが、講義の課題でMATLABでプログラムを書く機会がありました。便利すぎるがゆえに訳がわからないという問題もありましたが、いずれは使いこなしたいものです☆*:.。. o(≧▽≦)o .。.:*☆

 

ではでは、今日はこの辺で!

やっべーぞ!

どうも、お久しぶりです(笑)

今日はn日ぶりに書いていこうかなと思います。

 

自分の近況を一言で表すと、「暇がねぇ」に尽きますかね〜

研究室ではB4向けに出される課題に明け暮れ、ゼミでの担当部分は前もって読まないといけないような内容の濃さ、そして、発表スライドの作成と発表練習。。。(まぁ、ほとんどスライド作成しかできませんでしたが)

なかなかヘビーです。(実は課題が終わったら次の課題が降ってきています笑)

 

一方、部活ではどうしても役職のせいでストレスが溜まる事案が多々あり、最近では部活を嫌いになるくらいまでモチベーションは指数関数的に減少しています(笑)

 

タイトルにもありますが、いろんなことが捗らず潤滑に行かず、空回りしているので、「やっべーぞ!」って感じです(笑)

 

まぁ、こんな感じの生活をしてる中で、体力や肉体的な面はお察しですが、勉強面では今までより確実に力がついてきているような気がします。

FFT高速フーリエ変換)を自ら作らなければ大変なことになる場面がありました。

もちろん最初は死ぬような思いでアルゴリズムを手計算で追い、実装に向けて四苦八苦したのですが、今ではものすごく簡単に思えるようになっています。

 

結構、しんどいと感じる場面もありますが、こういった経験ができるとすごく嬉しいので、勉強の楽しさも感じています。

これからは「やっべーぞ!」ってならないように器用に過ごしていきたいですね(笑)

 

それでは、久しぶりのブログ更新はここまで!

また気が向いたら書きますね〜♪( ´θ`)ノ

快適な休日

どうも。

最近は忙しくて更新できていませんでしたが、久しぶりに投稿したいと思います。

 

世の中はGWで大型連休ですが、卒研生なので研究室内で出されたやるべきことを消化しなければならず、なかなか大幅に暇な時間を作るのが困難になっていました。

しかし、せっかくの連休なのにどこにも出掛けないのは勿体ないので気分転換に浅草まで出掛けてきました。

 

とは言ったものの、午前中は部活があったので練習をして、午後に満喫する形をとりました(笑)

 

ドン引きされるかもしれませんが、「ふともも展」に行ってみました(笑)

さすがに1人では行けなかったので2人の友人と一緒に行きましたが。。。

さて、その「ふともも展」ですが、詳細は ふともも写真の世界展 に記載されています。行ってみて驚きの連続。。。

本当に「ふともも」を写した写真?画像?がたくさん貼ってあって、色んな好みに幅広く対応出来るくらいの量でした(= ̄ ρ ̄=) 

中には特別な部屋が設けられており、その部屋は天井まで写真(画像)が貼ってあり、見渡す限り「ふともも」に囲まれる空間が生み出されていました(^ω^)

失礼な話ですが、会場に訪れているのは世の中から言われるオタクみたいなおじさんや男子ばかりだと思い込んでたのですが、実際は女の人も来ていたり、カップルで来てる人なんかもいました。(カップルで来るのはさすがに驚きでしかなかったですが。。。笑)

意外と誰でも足を運べるものになっているので、そういうのに興味がある人は是非行ってみると面白いと思います。

 

昼ご飯は釜飯が美味しいと評判?の「釜めし むつみ」という店に訪れました。

tabelog.com

「五目釜めし」を注文して食べました 。下手な写真ですが、その釜めしがコチラです。

f:id:mathharachan:20160505010550j:plain

注文してから出てくるまでは少し待つ必要がありますが、待ってでも食べてよかったと思えるほど美味しかったです。特に釜の底の方にある「おこげ」が美味しいんです。浅草に訪れた際は是非食べて頂きたいと思います。

 

そして、浅草と言えば「浅草寺」ですね。関東に住んでいながら実は1度も訪れたことがなかったので、この機会に訪れました。

念願の生雷門を見てきました(笑)

f:id:mathharachan:20160505010610j:plain

連休ということもあり、人が多いのなんの(笑)

しかし、まるで修学旅行をしているかのような気分に戻ることができました。

凄く新鮮で最近では得られない感情でした。☆〜(ゝ。∂)

 

また、浅草寺でおみくじを引いてみました。すると、友人2人と自分の3人とも「凶」を引いてしまいました(笑)

f:id:mathharachan:20160505010652j:plain

おいおい、こんなことあるのか?と笑ってしまいました。

噂?なのですが、浅草寺のおみくじは比較的、凶が出やすく、その確率が3分の1とのこと。

それでもみんなバラバラの番号からおみくじを引いてこの結果。。。

単純に計算しても3人とも凶を引く確率は27分の1。。。

おそらく何かを持っているのでしょう(笑)

 

この後は適当にお土産を買い、飲みに行き、楽しい時間を過ごすことができました。

今度、機会があればこんな風に休日を満喫できるようなお出掛けをしたいと思います( ´ ▽ ` )

それでは、今日はこの辺で〜( ´ ▽ ` )ノ