블로그

  • 솜사탕 DIY

    블로거 지식기부를 3번째까지 했다.

    주제를 정하자면 솜사탕 만들기 part 2라고 할 수 있을텐데, 지난번에는 회사(창의와탐구) 에서 지원받은 물류를 활용했었지만 이번엔 내가 직접 만들었다.

    사용된 재료

    1미터 각목, 50cm x 50cm 판자, 못, 케이블 타이, 빨래집게, 옷걸이, 막대사탕, 종이테이프, 충전용 어댑터(5V), 냄비(직경 50cm, 높이 30cm), 전선, 빈 깡통(비락 식혜 또는 갈아만든 배 정도 되는, 가볍고 얇은 깡통이 좋다), 철제 옷걸이, 양초, 설탕, 나무젓가락

    사용된 공구

    망치, 펜치, 니퍼, 톱, 송곳, 글루건

    1단계 – 모터를 잡아줄 받침대 만들기

    1. 톱을 이용하여 판자를 약 15cm x 15cm 정도의 크기로 썰어준다.

    2. 판자에 종이테이프를 발라준다. (시트지를 발라도 된다. 단, 잘 붙지 않는다. 비싸고.)

    3. 각목을 30cm길이로 잘라준다. 2개 필요하다.

    4. 각목 2개를 수직으로 붙여서 못으로 박는다.

    5. 각목을 판자에 수직으로 세워서 못으로 박는다.

    6. 각목의 끝에 케이블 타이로 빨래집게를 묶는다. 케이블 타이를 묶은 후 남는 부분은 니퍼로 정리해준다.

    2단계 – 충전용 어댑터를 모터에 연결하기

    1. 충전용 어댑터의 +와 -를 확인하고, 전압도 확인하고, 허용전류도 일단 확인한다.

    2. 충전용 어댑터의 단자의 +(구멍 안쪽)에 전선을 집어넣는다. -(구멍 바깥쪽 테두리)에는 전선을 묶어준다. 물론, 당연히, 전선의 피복은 적당한 길이만큼 벗겨져서 안쪽의 구리선이 노출되어 있어야 한다.

    이때 주의해야 할 점은, +와 -극에 연결한 전선의 구리선은

    절대로 접촉되어서는 안된다

    . 화재 또는 감전의 위험이 있으므로, 절대로 구리선끼리는 접촉되지 않도록 주의한다. 자신 없다면 전기에 대해 잘 아는 어른이나 전문가에게 부탁하자.


    3. 전선을 연결한 단자를 절연 테이프로 감아준다. 절연 테이프가 없다면 그냥 테이프라도 감아준다. 단, 이때 금속재질의 알루미늄 테이프는 사용해서는 안된다.

    4. 모터의 +극과 -극을 확인한 후, 방금 만든 어댑터의 +와 -를 연결해 준다.

    5. 어댑터를 전원 콘센트에 연결하여 모터가 돌아가는 것을 확인한다.

    3단계 – 모터에 깡통을 연결하기

    1. 깡통의 깡통 따개가 있는 곳이 위쪽이다. 깡통의 아래쪽 둘레에 압정으로 구멍을 많이 뚫어준다. 약 1센치미터 정도 폭의 하단부에 구멍을 많이 뚫어주면 된다. 깡통이 분리되지 않는 한, 많을수록 좋은 것 같다.

    2. 위쪽 중심부에 송곳으로 구멍을 뚫는다.

    3. 아래쪽 중심부에 송곳으로 구멍을 뚫는다.

    4. 아래쪽 중심부에 방금 뚫은 구멍에서 약 5밀리미터 정도 떨어진 위치에 구멍을 하나 더 뚫는다. (방향은 상관 없다. 원형이니까.)

    5. 철제 옷걸이의 직선 부분을 자른다. 이때, 직선 부분은 어깨가 걸쳐지는 부분인 짧은 부분이 2곳이 있고, 가운데 아래의 긴 부분이 1곳이 있다. 1단계에서 만든 모터 받침대의 길이를 고려하여 적당한 길이로 자르면 된다. 이제 이것을 철사라고 부르기로 한다.

    6. 철사의 한쪽 끝을 U자 모양으로 구부려 준다. 이때, U자 모양의 폭은 앞서 깡통 아래쪽에 만들었던 2개 구멍의 폭에 맞춰준다. U자 모양의 길이는 5밀리미터면 충분하다.

    7. 철사를 깡통의 아래쪽 중심부에 뚫은 구멍으로 끼워 넣기 시작해서, 위쪽 중심부에 뚫은 구멍으로 꺼낸다. U자모양으로 구부린 부분은 아래쪽 중심부의 바로 옆에 하나 더 뚫은 구멍에 끼워준다.

    8. 막대사탕을 맛있게 먹는다. 단 이때, 막대사탕의 막대는 안이 뚫린 원기둥 모양이어야 한다. 막대사탕의 막대를 적당히 잘라서, 모터와 철사의 위쪽 끝을 연결해 준다.

    9. 연결한 부분을 글루건으로 고정시켜준다. 단, 이때 모터 본체에는 글루건의 접착제가 묻지 않도록 주의한다. 묻으면, 모터가 돌아가지 않아서 솜사탕이 나오지 않는다.

    4단계 – 솜사탕기계 설치

    1. 모터를 받침대의 빨래집게에 끼워서 고정시킨다.

    2. 깡통 아래에 냄비를 받친다.

    3. 나중에 냄비를 편하게 씻고 싶다면 은박지로 냄비의 벽면을 싸 두어야 한다. 나중에 냄비를 어렵게 씻어도 된다면 싸지 않아도 된다.

    4. 깡통과 냄비 사이에 양초를 둔다.

    5. 양초에 촛불을 붙이더라도 불이 꺼지지 않도록 충분한 여유를 둔다.

    6. 깡통의 높이를 적당히 조절해서, 양초의 불은 꺼지지 않으면서 냄비의 벽 높이보다는 아래로 오도록 한다.

    **위의 사진은

    도너스 캠프 블로그

    에서 복사하였다.

    5단계 – 솜사탕 만들기

    1. 깡통에 설탕을 넣는다. 어른용 밥수저로 한번 정도 넣어주면 된다. 욕심내서 더 많이 넣어도 좋지만, 그럼 구멍이 금방 막혀버린다.

    2. 양초에 불을 붙인다.

    3. 깡통이 양초에 의해 가열되도록 기다린다.

    **위의 사진은

    도너스 캠프 블로그

    에서 복사하였다.

    4. 설탕이 녹아서 적당히 물처럼 변했다고 생각되면(깡통에서 하얀 연기가 나고, 달콤한 냄새가 난다) 어댑터를 전원 콘센트에 연결하여 모터를 돌려준다. 이때, 전원 스위치가 있는 멀티탭을 사용하면 편리하다.

    5. 잠시후 솜사탕의 근원인 설탕 실이 깡통에서 뿜어져 나온다. 이걸 나무젓가락으로 걷어서 뭉치면 솜사탕이 된다.

    6. 솜사탕은 맛있게 먹도록 하자.

    7. 잘 안되면 회전축을 손으로 살살 잡아준다.

    **위의 사진은


    도너스 캠프 블로그


    에서 복사하였다.

  • Kiwi!

    날아 봅시다.

  • 로또라는 것은


    http://www.hani.co.kr/arti/society/society_general/340588.html

    박신희(58)씨는 2003년 20년 넘게 살아온 서울 은평구 역촌동 165㎡(50평)짜리 집을 서울시에 내줬다. 은평구청이 노인복지회관을 짓겠다며 강제수용에 나섰기 때문이다. 은평구청 직원은 “공익사업으로 철거된 사람들은 싼값에 ‘특별분양 아파트’ 입주권을 준다.

    이건 거의 ‘로또’ 수준”이라며 박씨를 설득했다

    . 박씨는 결국 공시지가로 3.3㎡(평)당 500만원의 보상비와 서울 강동구 강일지구 아파트 입주권을 받고 정든 집을 내줬다.

    그러나 특별분양 아파트는

    로또가 아닌 ‘쪽박’이었다.

    ‘특별분양’은 일반 입주자 선정에 앞서 우선 분양권을 준다는 뜻일 뿐, 분양가가 일반 분양보다 낮다는 뜻이 아니었다. 박씨에게 배정된 ‘강일리버파크’의 평당 분양가는 1050만원으로, 박씨가 입주할 33평형 아파트 분양가는 3억5천만원이었다. 박씨는 “50평에서 33평으로 집 크기가 줄어드는데, 보상가에다 1억을 더 얹어야 입주가 가능하다는 게 말이 되느냐”며 “서울시에 속아 집을 빼앗겼다”고 말했다.

    한겨레 신문에서 일부 인용해 보았다.

    기자가 “로또”의 의미를 잘 모르는 것 같다. 은평구청 직원은 거짓말을 하지 않았다. “로또”는 복권이고, 복권은 당첨될 수도 있고 낙첨될 수도 있는 거니까.

    거짓말을 하지 않았으나 박씨는 속았다. 정확히 말하면, 낚였다. 미끼도 없이 던진 낚시에 낚인 것이다.

    물론, 서울시가 너무 싸게 일을 진행했고, 이건 분명 잘못된 일이다. 나는 단지 기사 글 내용에 있는 개념의 오류를 지적하고 싶을 뿐이다.

  • 최대 속력

    일반물리 숙제라고 한다.

    전형적인 전륜구동 자동차에서 차무게의 70%가 전륜에 가해진다. 만약 타이어와 길의 마찰 계수가 0.61일때

    차의 최고속력은 몇인가?

    참 뜬금없는 문제다. -_-;

    조건을 알아보자.

    1. 주어진 차는 전륜구동이다.

    2. 주어진 차의 무게 중 70%가 전륜에 가해진다.

    3. 타이어와 길의 마찰계수는 0.61이다.

    이렇게 3가지 조건만 갖고서 차의 최고속력을 구하랜다.

    난감한가?

    우리는 여기서 숨겨진 조건 1개가 더 있음을 발견해야만 한다.

    4. 위 3가지 조건만으로 문제를 풀 수 있다.

    4번째 조건을 가정하지 못한다면, 이 문제는 풀리지 않는다. (당연히…)

    우선, 바퀴는 굴러가고 있으므로 조건에 주어진 마찰계수는 최대정지마찰계수라고 봐야 한다. (아니면 차가 드리프트하고 있다는 가정을 해야…-_-; 전형적인 자동차를 운전할만한 전형적인 운전자는 카트 라이더가 아니다.)

    그리고 문제에 언급되지 않았으므로 공기저항도 무시하자. 연료 문제도 무시하자. 엔진 자체도 무한정 빨리 돌아갈 수 있다고 하자. 이상적인 상황을 가정해야 한다.

    풀이는 감추어 두었다.


    더보기

  • 놀자

    젊어서 열심히 놀지 않으면 평생 제대로 놀아볼 기회가 없고

    젊어서 열심히 놀면 평생 놀게 된다.

    어쩌라고.

  • nProtect의 업데이트인가…


    http://www.dt.co.kr/contents.html?article_no=2009022202019922732015&ref=naver


    디지털 타임즈의 기사를 보면 Adobe Reader에 취약점이 발견되었다고 한다. 그리고, 빨리 nProtect를 업데이트하라는 “Adobe 관계자”의 말을 실었다.

    엥?

    Adobe에서 무슨 이유로 특정 회사의 제품을 광고해 주지?


    http://www.adobe.com/kr/support/security/


    Adobe 코리아의 보안 부분을 찾아가 보았다. 아직 공지도 안 떴다.


    http://www.adobe.com/support/security/advisories/apsa09-01.html


    Adobe 메인의 보안 관련 페이지를 찾아가 보았더니, 여기엔 공지가 되어 있다. 하지만 nProtect 얘기는 없다.


    http://www.infoworld.com/article/09/02/20/Adobe_flaw_heightens_risk_of_encountering_malicious_PDFs_1.html


    슬래시닷에서 연결된 다른 해외 뉴스 사이트의 기사를 읽어보았다.


    http://www.shadowserver.org/wiki/pmwiki.php?n=Calendar.20090219


    infoworld에서 Advisor라고 말한 페이지다.

    물론 여기에도 nProtect얘기는 없다.

    대체…

    저 기사를 쓴 기자는 어디서 nProtect 얘기를 듣고 왔다는 말인가. 도대체. 어디서?

  • 관성의 법칙과 가속도의 법칙

    관성의 법칙…

    관성의 법칙에 대하여 좀 알긴 아는데요

    뭐 버스 움직일때 몸이 의도적으로 움직이지 않고 뭐 그런거요

    관성의 법칙에 대하여 좀 자세히 가르쳐 주세요~

    (Askhow 질문/답변 게시판 물리 – 5462번 질문)

    운동상태 – 물체가 갖고 있는 질량과 속도

    운동량 – 질량과 속도의 곱

    관성 – 물체가 운동상태를 바꾸지 않으려는 “성질”

    관성력 – 관성때문에 생기는 힘. 운동량의 시간당 변화율의 반대로 작용함

    관성의 법칙 – 모든 물체는 관성을 갖고 있다.

    관성계 – 관성의 법칙이 적용되는 관찰 좌표계

    관성계는 관성의 법칙이 적용됩니다. 힘을 가하지 않는 한 어떤 물체도 절대로 운동상태를 바꾸지 않죠. 즉, 질량이 바뀌거나 속도가 바뀌지 않는다는 뜻입니다.

    일정한 속도로 달리는 버스 안에서 있는 관찰자는 관성계에 있는 관찰자입니다. 하지만, 갑자기 멈추는 중인 버스는 더이상 관성계가 아니게 되죠. 아무도 힘을 작용하지 않았지만 앞으로 쏠려가게 되며, 따라서 버스에 대해서 속도가 변하므로 운동상태가 바뀌는 것이죠.

    관성력은 관찰자에 따라 있기도 하고 없기도 하는 힘입니다. 가령, 버스 바닥이 매우 미끄럽다고 해 봅시다. 달리던 버스가 멈추게 되면, 그 안에 있던 사람들은 앞으로 미끄러지겠죠. 버스 안에서 보면, 가만히 있던 사람이 앞으로 가게 되므로 관성력이 작용하는 겁니다. 하지만 버스 바깥에서 보면 앞으로 가고 있던 사람들이 여전히 앞으로 가고 있으므로 운동상태가 변하지 않았고, 따라서 관성력은 작용하지 않습니다.

    이어서 가속도의 법칙에 대한 질문이다.

    저번에는 관성의 법칙에 대하여 너무 궁금해서 올렸는데 어떤 님이 잘 정리하여 주셔서 정말로 감사 감사 하였습니다.

    그런데…

    이번엔 가속도의 법칙이 궁금하네요

    가속도의 법칙 개념(?) 좀 정리해주세요~

    그래서 정리하였다.

    가속도의 법칙은 관성의 법칙의 확장판입니다. (일반화 시켰다고 할까요. 특수상대성 이론과 일반 상대성 이론의 관계와 비슷하죠)

    우선 복습…

    관성의 법칙은 “외부에서 힘이 작용하지 않는다면, 물체는 반드시 그 운동상태를 유지한다”는 법칙입니다. 이 법칙은 반대로 “물체가
    운동상태를 유지하고 있다면, 그 물체에는 절대로 외부에서 힘이 작용하지 않는 것이다”라고 쓸 수도 있습니다.

    이 법칙에서, “~~하지 않는”이라는 부분을 바꾼다면 어떻게 될까요

    “물체가 운동상태를 유지하지 않는다면, 그 물체에는 외부에서 힘이 작용하고 있는 것이다”

    마찬가지로

    “물체에 외부에서 힘이 작용한다면, 그 물체는 절대로 운동상태를 유지할 수 없다”

    여기서. 운동상태는 관성의 법칙에 나온 것과 마찬가지로, 질량과 속도의 곱이 됩니다. 질량이 변하지 않는다고 하면, 속도가 변할 수밖에
    없겠죠.

    따라서, 외부에서 작용하는 힘은 속도의 변화로 나타납니다. 이것이 가속도의 법칙입니다.

    과학자들은 이것을 좀 더 자세히 보기 위해서 공식으로 쓰게 됩니다.

    가장 간단한 공식은 1차 함수죠.

    외부에서 작용하는 힘 = (운동상태의 변화율)의 적당한 몇 배

    그런데, 운동상태는 질량과 속도의 곱이므로

    외부에서 작용하는 힘 = ((질량과 속도의 곱)의 변화율)의 적당한 몇 배

    질량이 변하지 않는다고 하면

    외부에서 작용하는 힘 = (질량과 (속도의 변화율)의 곱)의 적당한 몇 배

    속도의 변화율 = 가속도

    외부에서 작용하는 힘 = (질량과 가속도의 곱)의 적당한 몇 배

    여기까지만 해도 되겠으나, 대체 몇배인지 알 수 없다면 공식을 사용할 수 없겠죠. 뉴턴의 법칙은 “적당한 몇 배”를 “1배다”라고 선언한
    겁니다. (그 적당한 몇배가 대체 몇배인가…이건 맘대로 정해도 됩니다. 단, 다른 과학자들은 모두 “1배”를 사용하고 있으므로 다른
    과학자들이랑 대화를 하려면 다른 과학자들에게 맞춰주는 것이 편하겠죠.)

    이걸 영어로 쓰면

    F=ma

    F: 힘 / m:질량 / a:가속도

    대충 이렇게 됩니다. 참고로, 이건 “법칙”이기 때문에 무조건 맞는 거고, 따라서 이 법칙이 왜 성립하냐고 묻는건 의미가 없습니다.

    틀렸다고 생각하면, 틀렸다고 얘기해도 됩니다. 단, 그 경우에는 F=ma라는 공식이 언제 어디서 어떻게 얼마만큼 틀린지 정확히 말하지
    않으면 무시당하겠죠.(다른 과학자들은 다들 F=ma가 올바른 법칙이라고 생각하니까요)

    제일 앞 부분에서 1차 함수를 썼는데, 2차 함수나 3차 함수 같은걸 쓰고 싶으면 써도 됩니다. 단, 그 경우에는 왜 그걸 썼는지, 그리고
    그 공식이 얼마나 정확한지도 말해줘야겠죠. 지금까지는 1차 함수를 썼을 경우가 가장 잘 맞았습니다. (뉴턴도 바보가 아니었기 때문에, 1차
    함수를 썼던 거죠.) 그리고, 1차 함수가 아니었다면 우리는 물리 문제를 단 1개도 제대로 풀기 어려웠을 겁니다.

  • 잡담

    1.

    요새 “이상한 바다의 나디아”를 다시 감상하고 있다.

    DVD를 질러 버렸다. -_-

    2.

    월급에서 원천징수되는 세금을 생각하지 못해서, 월 40만원으로 책정한 생활비가 월 17만원으로 줄어들었다.

    월급이 10만원 오르는 내년 1월까지는 긴축재정. -_-

    3.

    GRE 시험 등록을 못하겠다. 환율이 1500원이라 170달러인 시험을 결제하면 26만원이 나간다.

    일단 내년까지 대기.

    4.

    방통대 교재가 도착했다. 두근두근거린다. 다시 학생인가!

  • 푸리에 변환(Fourier Transformation) #5

    *여기에 설명된 FFT는 단순히 개념만을 설명하고 있다. 실제적인 알고리즘은 좋은 책과 인터넷 검색을 활용하여서 정확한 내용을 이해한 후에 사용하여야 한다.

    푸리에 변환은 현대 공학에서 아주아주아주 다양한 범위에서 응용되는데, 그것은 실제 세상을 분석하는 실질적이면서 강력한 도구이기 때문이다. 하지만 앞서 얘기했듯, 푸리에 변환은 적분에 관한 문제이고 적분을 잘 하는 것은 아주아주아주 어려운 문제이다. 그러므로 이것은 대단히 힘든 일이 된다. 적분은 누구에게나 어려운 일인데, 하물며 수식을 이해조차 못하는 컴퓨터가 어떻게 푸리에 변환을 할 수 있을까? 그래서, 연속체에 관련된 적분 문제를 컴퓨터도 잘 할 줄 아는 단순한 덧셈으로 바꿔서 비교적 정확한 푸리에 변환을 하는 것이 DFT가 된다. 하지만 DFT는 N개의 구간으로 나눴을 때 N*N개의 계산을 하는 방법이다. 좀 더 획기적인 방법이 등장하는데, 그것이 빠른 푸리에 변환(Fast Fourier Transform=FFT)이다. 빠른 푸리에 변환은 실제로 N*N번 걸릴 계산을 N*logN번 정도로 줄여주게 된다.

    가장 기본적으로, 푸리에 변환에서 사용하는 함수들이 지수함수라는 것을 생각해보자.

    $e^{a}*e^{b}=e^{a+b}$

    잘 보시라, 지수 함수와 로그 함수의 가장 큰 특징은 덧셈과 곱셈을 서로 바꿔 쓸 수 있다는 것이다. 지수함수에서는 곱셈이 덧셈으로 바뀌고, 로그 함수에서는 덧셈이 곱셈으로 바뀐다. 아무튼 가장 중요한 특성은 지수 밑에 있던 곱셈이 지수 위에서 덧셈으로 변신했다는 사실.

    그럼, DFT에 나오는 수식을 잘 살펴보자.

    $a_1=f(n2\pi/N)*e^{ik(n2\pi/N)$

    저걸 $a_1$이라고 부르자.

    그런데 푸리에 변환에서 나와야 하는 것은 함수이므로 k가 변하게 되면 계산을 새로 해야 한다.

    하지만 – 간과해서는 안되는 사실이 있다. 저기에 더하기 전에 곱하는 숫자는 바로 크기가 1인 지수함수라는 것. 아무리 곱해도 크기는 변하지 않으며, 그 위상각만 계속 돌아간다. 게다가, 만약 구간을 정수인 N등분 해 놓는다면 k가 커지면서 계산해야 할 계수는 새로 계산할 필요 없이, $e^{i(n2\pi/N)$을 계속 곱해가면서 계산하면 된다.

    $e^{i(n2\pi/N)$를 2번 먼저 곱하고 3번 곱하든, 3번 먼저 곱하고 2번 곱하든, 5번 곱했다는 사실은 변함이 없다. 바로 이런 성질을 이용하는 것이다.

    우선, 귀찮으니까 $e^{i(n2\pi/N)$를 w라고 쓰고, $w(k)=w^k$라고 하자.

    가령, 점이 4개 있다고 해 보자. 0, 1, 2, 3이라는 번호를 붙여보자. 그럼 4개의 점은 x(0), x(1), x(2), x(3)이 된다.

    이 점 4개에 대한 이산 푸리에 변환은 다음과 같다

    $X(0)=x(0)w(0)+x(1)w(1*0)+x(2)w(1*0)+x(3)w(1*0)$

    $X(1)=x(0)w(0*1)+x(1)w(1*1)+x(2)w(2*1)+x(3)w(3*1)$

    $X(2)=x(0)w(0*2)+x(1)w(1*2)+x(2)w(2*2)+x(3)w(3*2)$

    $X(3)=x(0)w(0*3)+x(1)w(1*3)+x(2)w(2*3)+x(3)w(3*3)$

    $w(k+N)=w(k)$인 성질을 이용해서 정리해주면 (이 성질이 가장 중요하다. 이러한 성질이 없다면, FFT는 불가능하고 DFT전체를 계산해야만 한다. 곱셈의 교환법칙과 유한군론의 승리.)

    $X(0)=x(0)w(0)+x(1)w(0)+x(2)w(0)+x(3)w(0)$

    $X(1)=x(0)w(0)+x(1)w(1)+x(2)w(2)+x(3)w(3)$

    $X(2)=x(0)w(0)+x(1)w(2)+x(2)w(0)+x(3)w(2)$

    $X(3)=x(0)w(0)+x(1)w(3)+x(2)w(2)+x(3)w(1)$

    이 수식을 뚫어지게 쳐다보면, 이미 계산한 항이 여러번 등장하고 있는 것을 확인할 수 있다.

    다시말해서, DFT를 계산할 때 저걸 전부 계산한다면 보다시피 N*N번의 계산을 전부 다 해야 한다. 하지만, 반복되는 부분을 잘 알고 있다가, 다음번에 계산할 때 써먹는다면 계산 비용이 절약된다. FFT는 수식을 뚫어지게 쳐다본 사람의 승리라고 할 수 있겠다.

    하지만, 아무리 컴퓨터라도 저 숫자들을 다 외우고 있다보면 머리가 아프겠지. (응?)

    정확하게는, 짝수항과 홀수항으로 나누고, 그 짝수항과 홀수항으로 나눈 것을 다시 각각 짝수항과 홀수항으로 나누고, 이 것을 반복해서 2항 푸리에 변환이 될 때까지 계속한다. 그 다음에, 조각난 푸리에 변환을 적당히 더해서 전체 푸리에 변환을 완성하게 된다.

    $x(0)w(0)+x(2)w(0)$과 $x(0)w(0)+x(2)w(2)$을 계산하고, $x(1)w(0)+x(3)w(0)$과 $x(1)w(1)+x(3)w(3)$을 계산한다.

    $E1=x(0)w(0)+x(2)w(0)$

    $E2=x(0)w(0)+x(2)w(2)$

    $E3=x(1)w(0)+x(3)w(0)$

    $E4=x(1)w(1)+x(3)w(3)$

    라고 해보자.

    $X(0)=E1+E3$

    $X(1)=E2+E4$

    $X(2)=E1+E3*w(2)$

    $X(3)=E2+E4*w(2)$

    이렇게 된다.

    처음의 DFT에서 16번의 곱셈과 12번의 덧셈이 있었다면, 나의 4점 FFT에서는 10번의 곱셈과 8번의 덧셈이 있게 되었다. 확실히 줄어들었다. (왜 NlogN번이 아니냐고는 묻지도 따지지도 말자. -_-; 숫자가 작아서 그렇다.)

    숫자가 적을 때는 그다지 차이가 없지만, 만약 이 숫자가 100만개 정도 된다면 그땐 무시할 수 없는 정도로 차이가 나게 된다.

    자. 그런데, 이런 것을 도대체 어떻게 이해하면 좋을까.

    gnuplot의 도움을 받아서 다음 그림을 그려보았다.

    그림이 좀 흐릿하지만, 대충 보자. 어느쪽이 x축이고 y축인지는 중요하지 않다.

    여기서는 sin함수를 계산했지만, 대충 exp(ikx)함수라고 생각하도록 한다. 복소수 삼각함수는 그림으로 그릴 방법이 없다.

    x=1인 선을 따라갈 때 생기는 함수를 알고 있을 때, x=2인 선을 따라갈 때 생기는 함수는 어떻게 계산할까? 당연히 제곱하면 된다. (사인공식에도 나오지만, 제곱하면 함수 안의 계수가 2배가 된 다른 사인함수로 변신한다.) 제곱이라는 건 자기 자신을 곱하는 것이다. x=3인 선을 따라갈 때 생기는 함수는, 다시 자기 자신을 한번 더 곱하면 알 수 있게 된다. 잘 보면 알겠지만, x가 1인 선을 따라서, y가 -2에서 2까지 변할 때 생기는 함수는 x가 2인 선을 따라서 y가 0에서 2까지 변할때 생기는 함수와 똑같이 생겼다. 잡아 당겨서 늘려주기만 하면 똑같다.

    즉, 삼각함수는 제곱해서 생긴 함수의 일부가 원래의 함수와 같다. (프랙탈…그런건 따지지 말자. 프랙탈 아니다.)

    저런걸 함수 f(x)에 곱해서 적분한다고 하면, 삼각함수의 특징을 잘 이용해 줄 수 있게 되는 것이다.

    이해 안가는 부분은 댓글로. -_-;

  • MAX300 오토플레이

    음…100초동안 11943개의 노트를 친다면, 초당 120개 -_-;
    손가락은 10개니까, 손가락 1개당으로 바꾸면 초당 평균 12개.
    서커스 갤럽 이후 최대의 충격. 음…리스트나 쇼팽의 연습곡중에 비슷한게 있을 듯.