为什么我用matlab做的这个1hz信号的频谱图不对啊,fs=1024;T=1/fs;x=0:0.01:10.23;y=0.1*sin(2*pi*x);subplot(2,1,1);plot(x,y);axis([0 5 -0.1 0.1]);y1=fft(y,4096);fk=[0:4095]/4096/T;subplot(2,1,2);plot(fk,abs(y1)/max(abs(y1)));axis([0 100 0

来源:学生作业学帮网 编辑:学帮网 时间:2024/05/04 08:52:04

为什么我用matlab做的这个1hz信号的频谱图不对啊,
fs=1024;T=1/fs;
x=0:0.01:10.23;
y=0.1*sin(2*pi*x);
subplot(2,1,1);plot(x,y);
axis([0 5 -0.1 0.1]);
y1=fft(y,4096);
fk=[0:4095]/4096/T;
subplot(2,1,2);plot(fk,abs(y1)/max(abs(y1)));
axis([0 100 0 1])

% 我改了下你的程序,加了注释,你能看懂的
fs=1024;T=1/fs; % 采样频率1024HZ
x=0:0.01:10.23; % 10.23个周波,这里你的采样周期是0.01,所以采样频率应该是100Hz,你设置的fs = 1024 在信号产生时没起到作用,问题出在这儿了
y=0.1*sin(2*pi*x); % 信号1HZ
subplot(2,1,1);plot(x,y);
axis([0 5 -0.1 0.1]);
% y1=fft(y,4096); % 相当于补了4096-1024个0
y1=fft(y);
% fk=[0:4095]/4096/T; % ?
fk=[0:1023]*100/1024;
subplot(2,1,2);
% plot(fk,abs(y1)/max(abs(y1))); % ?这里你除以max(abs(y1)我不太明白,应该是 *2/N (N是FFT运算的长度)
stem(fk,abs(y1)/1024*2);
axis([0 10 0 0.1])
% 说明: 由于你采样的时候没有达到整周期采样的条件,所以FFT算出来的频率和幅值有偏差,如果你将x=0:0.01:10.23; 该成 x=0:0.01:10; 就不会出现问题了,即如下程序
x=0:0.01:9.99; % 整整10个周波
y=0.1*sin(2*pi*x); % 信号1HZ
subplot(2,1,1);plot(x,y);
axis([0 5 -0.1 0.1]);
y1=fft(y);
fk=[0:999]*100/1000;
subplot(2,1,2);
stem(fk,abs(y1)/1000*2);
axis([0 10 0 0.1])

用压电加速度计和电荷放大器采集1-30Hz的可调信号,为什么用示波器显示出来老有个50Hz的信号混入其中也就是说,示波器显示的信号明显是所给定的信号和那个50Hz的信号混叠而成的.这个50Hz的 x=0.9311+0.1007*sin(606.9696*t+pi/9)-0.1007*sin(156.5066*t+pi/9),用matlab做其FFT分析?这个信号的交流频率是不是分别为:606.9696Hz和156.5066Hz? 用Matlab编程产生一个100Hz+150Hz+200Hz的正弦信号这里边的100Hz、150Hz、200Hz都是什么意思? 为什么我用matlab做的这个1hz信号的频谱图不对啊,fs=1024;T=1/fs;x=0:0.01:10.23;y=0.1*sin(2*pi*x);subplot(2,1,1);plot(x,y);axis([0 5 -0.1 0.1]);y1=fft(y,4096);fk=[0:4095]/4096/T;subplot(2,1,2);plot(fk,abs(y1)/max(abs(y1)));axis([0 100 0 你这个有完整的么?用Matlab编程产生一个100Hz+ 150Hz+200H z的正弦信号(或调用Matlab中 leleccum实例信号).2) 对正弦信号分别加上50HZ噪声、白噪声、加性噪声、乘性噪声等3) 根据信号不同噪声 matlab中一个声音信号在100Hz、500Hz和900Hz处分别加上一个幅值为1的正弦噪声Butterworth滤波器,滤除100Hz、500Hz和900Hz三噪声信号 matlab如何编程输出一个正弦信号,这个信号的0.24s 0.27s时全为0采样频率为 10kHz,50Hz的正弦信号 matlab 做傅里叶变换我这有组超声波信号,以mat格式存储,想通过傅里叶变换画出它的功率谱图,采样频率10M Hz,请知道的帮个忙,本人对MATLAB实在不懂呀, matlab做傅立叶变化为什么要用4096点,处理的是声音信号 设有三个不同频率的正弦信号,频率分别为f1=100hz,f2=200hz,f3=3800hz.设有三个不同频率的正弦信号,频率分别为f1=100hz,f2=200hz,f3=3800hz.现在用抽样频率f3=3800hz对这三个正弦信号进行抽样,用MATLAB命令 设计一个matlab带通滤波器代码采样频率10Hz,滤除除0.9-1.1Hz之外的其他信号,信号输入为x1,输出为x2,不明白的问我可以追加条件,运行好使的追加分 如何将32768Hz的石英晶体振荡器分频为1HZ和2HZ的信号? 希望做一个累加信号的福利叶变换……用MATLAB做关于原始问题已经放在图片里了,我在matlab里面是这样恩这个累加信号的表述是这样的:N=600;fs=1;n=1:N;a2=0.30;T=600/fs/14;t=n/fs;v=sin(pi*t/T)./(pi*t/T).*cos matlab对周期信号做傅里叶变换只是简单的对正弦信号做傅里叶变换,为什么频谱图中出现了两个峰值,而我设定的信号频率是100,以下是我的程序,我想知道怎样能使图中的频率分量出现在-100和+1 小波分解信号频段采用小波对信号进行分解,原始信号是1-35hz,采用db4进行分解,如果每分一层信号的频段分一半的话,那么,要得到1-3hz大概用4层分解就可以了,但实际上,做下去4层分解之后的信 matlab中用awgn函数加噪声的问题我想用matlab在信号x上加一个信噪比为5dB的高斯白噪声,我使用的是awgn这个函数,help里解释是awgn的第一个参数是信号,第二个参数是信噪比,按照这样做进行检验的 产生一个100Hz 的正弦信号,对其进行Hilbert 变换,并产生其频谱图.用Matlab 如何编程. 用【Matlab】设计一个去除30Hz信号中50Hz的信号的小程序.clc;clear;close all;%variablesf1=30;f2=50;phi=0;delt_t=0.001;N=512;m=0:N-1;fm=m/(N*delt_t);%signalt1=1:delt_t:2*pi;w=sin(2*pi*f1*t1+phi)+sin(2*pi*f2*t1+phi);%信号%频域滤波W