필터 지우기
필터 지우기

リアルタイムで取り込​​んだ音声信号をFF​T​化を行ったデータ​をcsvに保存する方​法​を教えてほしいで​す。

조회 수: 9 (최근 30일)
一秀 近藤
一秀 近藤 2022년 9월 21일
댓글: 一秀 近藤 2022년 9월 30일
リアルタイムにて音声を入力を行い、timescopeを用いて波形を表示させ、SpectrumAnalyzerを使いスペクトルを表示させるプログラムをAudio Test Bench をもちいて作成しました。(SpectrumAnalyzerを最新のものに入れ替える)
そして、スペクトルのデータをmat保存しました。(ピーク時のデータのみ)ここまでのプログラミングを載せておきます。
理想的には上記のようなものを作成したいと考えております。
matファイルではなくcsvファイルにて保存の方法をご教授お願います。簡単な内容で申し訳ありませんがよろしくお願いします。

채택된 답변

Kojiro Saito
Kojiro Saito 2022년 9월 24일
出力したいスペクトルデータ(data)がテーブル型なので、CSVへのファイル保存は相性が良いです。
PeakFinder列が構造体(struct)になっていて、このまま書き込むと列が空になってしまうので、下記のように一旦構造体をセルにしてから格納し直してCSVに出力できます。
%save data.mat
% ←最後にdataをMATファイルに保存
% PeakFinderの構造体をセルに変換
tempTable = struct2cell(data.PeakFinder)';
% 元のデータに格納
data.PeakFinderFrequency = tempTable(:, 1);
data.PeakFinderValue = tempTable(:, 2);
% 元のPeakFinder列を削除
data.PeakFinder = [];
% CSVで書き込み
writetable(data, 'data.csv')
  댓글 수: 6
Kojiro Saito
Kojiro Saito 2022년 9월 29일
こちらの環境ではエラーが再現できないので、保存されるdata.matのファイルを共有いただくことは可能でしょうか?
一秀 近藤
一秀 近藤 2022년 9월 30일
すいません。僕の確認不足でcsv保存できていました。
理由といたしまして私が勝手にプログラムを中断してしまっていたことが理由であろうと思います。
ご丁寧にありがとうございます。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Audio I/O and Waveform Generation에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!