인터넷을 돌아다니다가 라즈베리 파이니 큐비보드니 마스보드니 포고니 하는 것들을 보고,

지금 노트북이든, 아이패드든 저장 용량이 작아서 뭘 맘놓고 넣기도 힘들 뿐더러,

연구실을 나가게 된다면 (?) 데이터를 저장해둘 곳이 필요한데, 적절한 곳이 없다는 것이 생각났다.


그래서 NAS를 구축하기 위해 이것 저것들을 조사해 보다가,

아무리 봐도 순탄할 것 같지가 않아서 블로그에 로그들을 남겨가며 진행해볼까 한다.


짬 나거나, 공부가 지루할 때만 찾아볼 거니까 포스팅이 그리 활발하게 이루어지진 않겠지만,

우선 시작해보기로.

LDPC 를 활용하여 논문을 쓸 일이 있어서 구현을 알아보던 도중,

토론토 대학의 Radford M. Neal 교수 페이지에서

교육 및 연구용으로 무료 배포된 시뮬레이터를 찾았다. 

C언어로 구현되어 있으며, H matrix 생성, 인코드, 디코드 모두 구현되어 있다.


link:: http://www.cs.toronto.edu/~radford/ldpc.software.html


최신버전까지 올라와 있어서 최신 버전의 우분투에서 작업해도 크게 문제 없겠다 싶어 진행 중.


소스코드를 조금 수정해서 써야할 것 같아 분석하려니 답답해서 

소스코드 분석하는 방법을 구글링 해봤더니 

vim+cscope 를 가장 많이 선호하더라.


그래서 설치해서 사용 중


참조:: http://rucifer.tistory.com/391 


설치과정 및 사용 모습 (Ubuntu 11.04 기준)


1. cscope 설치하기

$> sudo apt-get install cscope 



2. 해당 프로젝트의 파일 목록 작성

LDPC$> find ./ -name '*.[ch]' -print > cscope.files 


cscope.files 를 열어보면 c나 h 확장자를 가지는 파일들을 모아두었음을 알 수 있다.



3. cscope database  작성


LDPC $> cscope -i cscope.files 




cscope 화면이 뜨면서 현재 폴더에 'cscope.out'이 생성됨


cscope 내에서도 위의 항목들을 찾을 수 있지만, vim과 연동시켜 쓰도록 하는 것이 목표이므로 패스


4. vim과 연동

vim 의 환경 설정 파일인 .vimrc 를 수정

--------------------------------------

 "cscope setting

 set csprg=/usr/bin/cscope

 if filereadable("./cscope.out")

     cs add cscope.out

 endif

--------------------------------------


이렇게 설정해두고 vim으로 파일을 열면 vim 의 커맨드 창에서 아래와 같은 사용법으로 검색 가능하다


:cs find c|d|e|f|g|i|s|t name

 - c: 이 함수를 call 하는 함수 검색

 - d: 이 함수에 의해 호출되는 함수 검색

 - e: 확장 정규식 사용하여 검색

 - f: 파일 이름 검색

 - g: 글로벌 정의 찾기

 - i: include하는 파일 검색

 - s: C 심볼 검색

 - t: 텍스트 문자열 검색




리눅스에 KSCOPE라는 툴도 있다고 한다. 

이건 Source Insight 처럼 비주얼하게 보여준다고 한다.









미투데이의 글배달 기능 셋팅해놨더니 글 정렬이 엉망으로 왔다.

네이버 블로그로는 어떻게 배달되는진 모르겠지만,
티스토리로 배달되는 미투데이 글들은 읽기도 난해하게 배달되어 왔다.

조금 검색을 해보니 나만 그런 문제가 있었던 것은 아니었나보다.

이런저런 블로그들을 눈팅한 끝에 결론은 미투데이에서 배달되어 오는 글들은
몇 가지 태그로 분류되어 있으며, style.css 파일을 수정해 꾸밀 수 있다는 것.

그 과정을 요약하면 다음과 같다.



1) 우선 관리자 페이지로 들어가 CSS 파일을 연다.









2) style.css 의 제일 하단에 아래의 소스코드를 추가한다.


/* me2day style setup */



/* 배달되는 글의 전체 테두리 */

.me2day_daily_digest {

    border:1px solid #eaeaea;

}


.me2day_daily_digest ul {

    margin:0;

    padding:0;

    list-style:none;

    border:1px dotted #cdcdcd;

}


.me2day_daily_digest li {

    margin:0 5px;

    padding:0 0 0 20px;

    list-style:none;

    line-height:200%;

    border-bottom:1px dotted #cdcdcd;

    /* 글머리 아이콘을 미투데이 로고 (소형)으로 */

    background:url('http://static1.me2day.com/images/new_sub/img_btn_me2day_icon_purple_c3.gif') no-repeat left 3px;

}


/* 날짜 표시부 옵션 */

.me2day_daily_digest ul li .datetime a {

font-size: 90%;

padding-left: 10px;

color:#5A32B4;

}


/* 미투데이 글 태그 표시부 옵션 */

.me2day_daily_digest ul li .me2_tags {

padding-left: 10px;

font-size: 90%;

color: #BDBDBD;

}


/* 미투데이 글 중 이미지 표시부 옵션 */

.me2day_daily_digest ul li img {

border: 1px dotted #DB9CFF;

margin-left: 50px;

}




이렇게 세팅하면 아래의 포스팅과 같은 모양으로 배달된다.


CSS를 다 설명할 순 없으니, 관련 옵션들은 찾아보시고 본인의 입맛에 맛게 설정해서 

미투데이 글 역시 하나의 예쁜 포스팅이 되도록 꾸며봅시다. :)


진작에 키워드를 알았더라면 이리 검색해봤을 텐데...

C에서 Matlab으로 넘어가는 거에만 너무 신경쓰다보니 삽질했네.


무튼, 통신에서 채널 - 특히 오류 - 를 모델링 할 때 

특정 확률 분포를 따르는 난수를 생성하는 방법은 매우 간단하다.


바로 random 함수.



random

 - Random numbers 


 :Syntax

Y = random(name,A)

Y = random(name,A,B)

Y = random(name,A,B,C)

Y = random(name,A,m,n,...)

Y = random(name,A,[m,n,...])

Y = random(name,A,B,m,n,...)

Y = random(name,A,B,[m,n,...])

Y = random(name,A,B,C,m,n,...)

Y = random(name,A,B,C,[m,n,...])


random함수로 제공하는 분포는 다음과 같다.



네, 그러니까 왠만한 분포들은 거의 다 지원한다는 겁니다.

그동안 개삽질했어ㅠㅠㅠㅠㅠ


무튼 예시를 보면


example1) matlab help, poisson distribution


x2 = random('Poisson',1:6,1,6)

x2 =

   0   0   1   2   5   7


example2) Haravrd.edu에 있는 Central Limit Theorem Demo 가 가능한 수업 자료는 아래 링크.


http://isites.harvard.edu/fs/docs/icb.topic1032465.files/Matlab%20Tutorials/Matlab%20tutorial%202%20Histograms.pdf



분포마다 parameter 갯수가 다르니 표를 보고 확인하시압.


http://blog.naver.com/horgan/40039832484

+ Recent posts