我是靠谱客的博主 细腻抽屉,最近开发中收集的这篇文章主要介绍matlab 声卡输出,请问高手关于matlab控制声卡输出的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

请问高手,怎么我采样之后经声卡输出在示波器里看到的波形和采样滤波后的信号不一样呢?请高手帮忙

不知道怎么把采样滤波后的信号原样输出来,谢谢。

程序输出部分有问题吗?

ai = analoginput('winsound');

ch=addchannel(ai,1);

set(ai,'SampleRate',44100)

set(ai,'SamplesPerTrigger',44100*5);

start(ai)

[data,time] = getdata(ai);

delete(ai)

figure;

subplot(211),plot(time,data); %时域图

title('Time-Domain');

xlabel('time /s');ylabel('magnitude /V');

%cheby2型滤波

[b,a] = cheby2(9,20,300/22050);%设计9阶,带阻波纹20dB,不

%确定是从20开始,300/22050为归一化频率

[fil,zf]=filter(b,a,data); %zf为滤波器延迟

subplot(212),plot(time,fil);title('fitered signal');

xlabel('time /s');ylabel('magnitude /V');

%进行FFT变换并做频谱图

y=fft(data);%进行fft变换

mag=abs(y);%求幅值

mag1=20*log10(mag);

f=(0:length(y)-1)'*44100/length(y);%进行对应的频率转换

figure;

subplot(211);

plot(f(1:64),mag1(1:64));%做频谱图

%axis([0,150,0,500]);

xlabel('Frequency /Hz');

ylabel('Magnitude /dB');

title('Samples FFT N=128');

grid;

%绘制功率谱

sq=mag1.^2;

subplot(212);

plot(f(1:64),sq(1:64));

xlabel('Frequency(Hz)');

ylabel('Power Spec');

title('Spec');

grid;

%处理信号输出

ao = analogoutput('winsound');

addchannel(ao,1);

set(ao,'SampleRate',44100);

set(ao,'TriggerType','Manual')

putdata(ao,fil);

start(ao);

trigger(ao);

waittilstop(ao,6)

stop(ao);

delete(ao);

最后

以上就是细腻抽屉为你收集整理的matlab 声卡输出,请问高手关于matlab控制声卡输出的问题的全部内容,希望文章能够帮你解决matlab 声卡输出,请问高手关于matlab控制声卡输出的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部