重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【終了しました】教えて!gooアプリ版

Matlabでパルス波形を作って4PAMで変調する方法を教えてください。理論を知りたいので関数は使いたくないです。

質問者からの補足コメント

  • 回答ありがとうございます。
    本当にお詳しいんですね( -᷅_-᷄ )
    QAMについては後々やろうと思っていたので参考にさせてもらおうと思います。
    何度も申し訳ないのですがPAMについてわかりますでしょうか?m(_ _)m

    No.1の回答に寄せられた補足コメントです。 補足日時:2019/01/18 16:15
  • 難しそうなお仕事ですね(>_<)
    送信bitを二値のPAMで変調する場合をMatlabで書くとき
    送信bitと二値PAMを乗算すればよいのでしょうか?
    初歩的な質問で申し訳ないです。

    No.2の回答に寄せられた補足コメントです。 補足日時:2019/01/19 00:14
  • 回答ありがとうございますm(_ _)m
    まだ詳しく読めていないのですがQAMとPAMって同義語何ですか?
    PAMの理論を知りたくて…

    No.4の回答に寄せられた補足コメントです。 補足日時:2019/01/19 16:45
  • 何度も申し訳ないです。
    画像(適当に拾ってきました)を見る限り,QAMとPAMの変調は別物のように見えるのですが…
    PAM(パルス振幅変調)という変調方法はないのでしょうか?

    「Matlab」の補足画像4
    No.5の回答に寄せられた補足コメントです。 補足日時:2019/01/19 19:58
  • こちらこそ理解力がないばかりに混乱させて申し訳ないですm(_ _)m
    QAMについては後々勉強しようと考えていたので色々と説明していただき感謝してます。
    PAMについては,にんたまくんさんはあまりご存知ではない感じでしょうか?PAMの実装方法が全くわからないので…

    No.7の回答に寄せられた補足コメントです。 補足日時:2019/01/19 21:25
  • 本当に色々とありがとうございますm(_ _)m
    参考にさせてもらおうと思います。
    ただの大学生です(•᎑•)
    通信関係の研究室に入りたいと思い,今のうちに少しですが勉強していただけです
    知識不足でしたのでもう少し勉強しようと思います。
    ありがとうございました!

    No.8の回答に寄せられた補足コメントです。 補足日時:2019/01/19 23:05

A 回答 (8件)

こんにちは。

やっぱり通信関係を勉強されているのですね。
最終目標が4QAMのBER評価であり、ベースバンド評価が目的として、回答します。
先ず、ランダム系列を生成(ここが、パルス信号に相当、情報信号)

信号をIQに分けるために、1行n列を2行n/2に変換(ここで、IQの情報信号になった)

IQが(1,0),(1,1),(0,1),(0,0)のどのパターンかを調べ、4QAMのマッピングパターンに当てはめる。
以下のURLの3に4QAMのマッピングパターンが出ています。
Natinal Instrument 直交振幅変調(QAM)マッピングパターン
(http://www.ni.com/white-paper/3896/ja/)

ここで、1と0での4QAM信号までできたことになる。

変調するということは、1,0の信号をを1,-1へ変更する必要があります。
ここが変調に相当するところ
上のURLで図3. (下)4-QAMコンスタレーションプロット
にあたります。

これが、普通、通信のベースバンド信号評価でやっていることになります。
なので、本当にパルス波形を作って、送信信号とするのではなく、ランダム値を発生させて
それをパルスの送信信号と考えるのが普通なんですが?。
(本物のパルス波形を作りたければ、矩形波のフーリエ級数で作れますが、
101010と言う様なパターンにしかならないので、コンスタレーションで見ると、
1か所で動かないので、評価としては問題があります。コンスタレーションが変わる様な
仕組みを入れる必要がある。
ということは結局、ランダムの10パターンを発生すれば良いということになります)
出来上がったQAM信号 →(送信)→ガウスノイズ負荷→受信側(復調処理)
が基本全系になります。

一応、matlab 4QAMのサンプルプログラムは、Mathworksの以下のURLに載せてくれていますので
自分で作って、分らなくなったら、参考になるでしょう。
****** Mathworks抜粋************
Overview
this code performs the qam modulation for M=4.
it means one symbols carries 2 bits and the total number of symbols mapped in scatter plot are 4.
(https://jp.mathworks.com/matlabcentral/fileexcha …
*******ここまで***************

頑張って下さい。m(_ _)m。回答が長文になってしまって御免なさい。
この回答への補足あり
    • good
    • 0

PAMそのものは実際に評価はやっていませんね。

。。御免なさい。

どの様な実験をしたいのですか?場合によってはmファイルでは能力不足、Simlinkに頼る必要ありという風になっても来ますかも。
以下、やりたいことを想定で、内容とやるべきことを分かる範囲で列挙しています。

1) PAMのベースバンド信号処理、誤り訂正能力評価がやりたい:結局QAM=QPSKとなり、理論値とシミュレーション性能なら、mファイルでも可能ですが、誤り訂正は使えるものが制限され、mファイルでは能力不足で、Simlinkを使う必要あり。PAMにこだわる必要性がなくなるのでは?。
2) QAMの干渉実験を評価したい:隣との周波数チャネルとの干渉程度D/U比、周波数をどの程度離すか、等を評価したい。mファイルでは能力不足。
3) 多値変調能力を知りたい:パルス変調と言っても、振幅の変化に情報をのせるので、PAMにこだわることはないのでは?。mファイルでも可能かと。
4) 何処まで実装したいか?RF部まで含めて:mファイルでは限界でSimlinkが必要でしょうね。

>PAMの実装方法が全くわからないので…
Matlabのライセンスは継続して、持っていますか?
もし、メンテナンス費を払っているIDであれば、Mathworkの処にログインして、PAMを検索すると、
サンプルプログラムがあるので、そういうモデルを見て、実験方法を探ることも可能でしょう。
(私はライセンスを持っていないので、ログインできないんです。。残念ながら)

私の能力で、やり方のアドバイスはこんなとこでしょうか。
mijinさんのモチベーション力、探求能力に感動してしまい、若い人の役に立てばと思い、色々と回答していました。
研究者の方ですか?。社会人さん?。これだけの能力、単なる大学生とは思えませんでした(笑)。

ご参考まで。m(_ _)m
この回答への補足あり
    • good
    • 0

すみません。

追加です。
変調方式をどこに情報をのせるかで分類しているので、そういう分け方になっていると思います。
(https://www.rohm.co.jp/electronics-basics/wirele …)
の一番上の変調方式の分類を読むと、そういう分け方になるんだと思います。
この回答への補足あり
    • good
    • 0

段々、本格的な理論の話になってきましたね。


確かに、貴方の言う通り以下の変調方式で
(https://www.rohm.co.jp/electronics-basics/wirele …
>PAM(パルス振幅変調)という変調方法はないのでしょうか?
パルス変調は別になっていますね。

QAM,2値QAMという話をしていたこと、Matlabでのシミュレーションの質問だったし、今はアナログ系からデジタル系に技術が進んでいるので、
多値変調、振幅の変化に情報をのせるという意味で、QAMはPAMの一種という様に回答していました。

ここからは、多分という回答にさせて下さい。
パルスの何の変化に情報をのせるかの変調方式を別だしして、パルス変調と言っているのではないかと思います。
振幅か幅か位置かで分けているのでしょう。
現在、パルス変調のみで使っているものがあるかどうかな?

何か余計な情報の回答ばかりして、混乱させてしまったでしょうか?。
    • good
    • 0

>QAMとPAMって同義語何ですか?


同義語というよりQAMはPAMの一種
PAMというのが変調方式の1つのやり方で、
2QAM<4QAM<16QAMになるにつれて、一度に多くの情報が送れるが、それだけ、誤り訂正能力が必要になる。
2QAM→x=+1,-1なので、y軸を越えない限り、エラーにはならない
この間の乱数のscatterを思い出して下さい。x=+1にノイズのって、ノイズが大きいと、x=-1に近づくことがある。

2QAMは第一象限に情報の点1個(Q相は気にしない)
4QAMは第一象限に情報の点1個(IQ相使用)
16QAMは第一象限に情報の点4個(IQ相使用)

こんな感じです。
この回答への補足あり
    • good
    • 0

こんにちは。


どう回答すると、分かりやすいかも考えていたので、遅くなりました。

本題)
先ず、ブロック図的には

data系列  ----------> (2QAM変調) -----------> (通信路)
0,1,1,0,0,1 -1, +1,+1,-1,-1,+1
(0,1の         ↓
乱数発生)       ↓
 コンスタレーションはx=1と-1
  XYのグラフで見ると、x=-1とx=+1のところだけ、
  点になっているコンスタレーション波形になります。

無線通信の信号はI相とQ相の信号、数学的に言うと、複素数の様な
感じになります。
2QAMではQ相には情報をのせずに、I相のみ情報信号をのせている。
なので、Q相はゼロのまま。

***************具体的計算************************
数式で記載すると、2QAM変調信号 = 2×(0,1の乱数) - 1
となります。

************Matlabプログラムで説明******************
data=以前のQAで乱数(1 or 0)をnbit生成
mod_I=2*data-ones(1,n);
# ones(1,n)は1行n列で、中身が全て、'1'の行列。
# Matlabは行列演算できるので、各ビットで計算しなくても
# 1行で計算可能。
mod_Q=zesos(1,n); # 1行n列の中身はゼロ
# 2QAM評価するのにQ相(y軸側)は不要ですが、
# scatterでコンスタレーション波形を見るために必要。
scatterplot(mod_I,mod_Q)



で作れるはずです。プログラム確認はやっていません。
不明な点は補足下さい。
この回答への補足あり
    • good
    • 0

補足コメントは見ました。

回答を書くのに説明入れると、時間かかりそうなので、明日の夜、回答します。それまで、しばし、ご休憩を。
    • good
    • 0

こんにちは。

こういう仕事をしていたので。。
ラジオでAM,FMがありますよね。ラジオのAMは振幅で変調を掛けて、振幅の大きさが信号情報になっています。
PAM:Pulse Amplitude Modulation(https://ejje.weblio.jp/content/PAM)
(https://jp.mathworks.com/help/comm/ref/pamdemod. …
パルス信号の1か0に情報を載せ、デジタル系になっているので、1と0の間はない状態。

余談
変調には振幅変調(AM)、周波数変調(FSK)、位相変調(PSK)等があります。

回答が分かりづらかったら、補足で下さい。私に回答できる範囲ですが回答させて頂きます。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!