matlab 已知一系列离散的频域解,如何求时域解 跪谢!
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/13 18:57:52
matlab 已知一系列离散的频域解,如何求时域解 跪谢!
已知一串数据,这些数据是通过公式求得的频域的解(A+Bi的形式),请问怎么在matlab里面通过逆傅里叶变换得到时域里面的解呢?
我是直接把这些数据ifft的(ifft(u,1024)),但是求得结果跟别人论文里面的不一样啊!幅值相差了很多!
请问是不是我算错了呢?ps:已知频域数据只有正值
求大神给一个类似程序 跪谢!
已知一串数据,这些数据是通过公式求得的频域的解(A+Bi的形式),请问怎么在matlab里面通过逆傅里叶变换得到时域里面的解呢?
我是直接把这些数据ifft的(ifft(u,1024)),但是求得结果跟别人论文里面的不一样啊!幅值相差了很多!
请问是不是我算错了呢?ps:已知频域数据只有正值
求大神给一个类似程序 跪谢!
![matlab 已知一系列离散的频域解,如何求时域解 跪谢!](/uploads/image/z/5112086-14-6.jpg?t=matlab+%E5%B7%B2%E7%9F%A5%E4%B8%80%E7%B3%BB%E5%88%97%E7%A6%BB%E6%95%A3%E7%9A%84%E9%A2%91%E5%9F%9F%E8%A7%A3%2C%E5%A6%82%E4%BD%95%E6%B1%82%E6%97%B6%E5%9F%9F%E8%A7%A3+%E8%B7%AA%E8%B0%A2%21)
我的看法是:
1.程序不一定能帮你.
程序只管运行,但是你还是不知道其原理,所以无法判断是否正确.对于FFT的理解,需要深入的分析公式.
2.如何得到幅度为1的复正弦波?
用ifft(u,1024)是正确的,这个时候得到的时域波形为1024个点.关键是u是多少
2.1 如果u是[1024,0,0,…,0],1023个0,那么得到的是一条直线,频率为0的复正弦.
2.2 如果u是[0,1024,0,…,0],1023个0,那么得到的是一条直线,频率为1的复正弦.
2.3 如果u是[0,0,1024,0,…,0],1023个0,那么得到的是一条直线,频率为2的复正弦.
依次类推.
3.如何得到指定幅度1.5,指定相位45°,指定频率为8的复正弦波?
u=[0,…,0,1024*1.5*exp(1j*pi/4),0,…,0],前面8个0,后面1015个0.即可.
【未完待续,先等分】
再问: 你好!非常感谢! 我是已知频域的表达式,然后对w取样,所以得到了1024个频域的解(每一个解都是A+Bi的形式)
再答: 4. 假定你得到的结果是320.87赫兹,幅度是1.5+1.2i,如何这样的图? 首先可以肯定是你需要一个单频信号,即复正弦,幅度和初始相位吻合,至于画几个周期,就看你自己选择了。 4.1 画一个周期,首先,画一个u=[0,1024*(1.5+1.2i),0,…,0],这样得到的图就是一个周期的了,接下来的工作就是确定一个周期T是多少,T=1/320.87=0.0031秒,那么也就是说你所采样的1024个点的总的时间长度是0.0031秒,那时间轴就是t=(0:1023)/1024*T。剩下的就是绘图了,plot(t,x),x就是IFFT之后的结果。 4.2 画二个周期,首先,画一个u=[0,0,1024*(1.5+1.2i),0,…,0],这样得到的图就是儿个周期的了,接下来的工作就是确定二个周期T是多少,2T=2×1/320.87=0.0062秒,那么也就是说你所采样的1024个点的总的时间长度是0.0062秒,那时间轴就是t=(0:1023)/1024*2T。剩下的就是绘图了,plot(t,x),x就是IFFT之后的结果。 4.3 依次类推。5. 那画出的图究竟是什么样子呢? 以320.87赫兹,幅度是1.5,初始相位30°,为例子,得到的图如下。![](http://img.wesiedu.com/upload/f/d5/fd5b366a6a94fe4c029e9d69826b2bc0.jpg)
![](http://img.wesiedu.com/upload/f/10/f1028fcc26da46055317408a4600a53c.jpg)
1.程序不一定能帮你.
程序只管运行,但是你还是不知道其原理,所以无法判断是否正确.对于FFT的理解,需要深入的分析公式.
2.如何得到幅度为1的复正弦波?
用ifft(u,1024)是正确的,这个时候得到的时域波形为1024个点.关键是u是多少
2.1 如果u是[1024,0,0,…,0],1023个0,那么得到的是一条直线,频率为0的复正弦.
2.2 如果u是[0,1024,0,…,0],1023个0,那么得到的是一条直线,频率为1的复正弦.
2.3 如果u是[0,0,1024,0,…,0],1023个0,那么得到的是一条直线,频率为2的复正弦.
依次类推.
3.如何得到指定幅度1.5,指定相位45°,指定频率为8的复正弦波?
u=[0,…,0,1024*1.5*exp(1j*pi/4),0,…,0],前面8个0,后面1015个0.即可.
【未完待续,先等分】
再问: 你好!非常感谢! 我是已知频域的表达式,然后对w取样,所以得到了1024个频域的解(每一个解都是A+Bi的形式)
再答: 4. 假定你得到的结果是320.87赫兹,幅度是1.5+1.2i,如何这样的图? 首先可以肯定是你需要一个单频信号,即复正弦,幅度和初始相位吻合,至于画几个周期,就看你自己选择了。 4.1 画一个周期,首先,画一个u=[0,1024*(1.5+1.2i),0,…,0],这样得到的图就是一个周期的了,接下来的工作就是确定一个周期T是多少,T=1/320.87=0.0031秒,那么也就是说你所采样的1024个点的总的时间长度是0.0031秒,那时间轴就是t=(0:1023)/1024*T。剩下的就是绘图了,plot(t,x),x就是IFFT之后的结果。 4.2 画二个周期,首先,画一个u=[0,0,1024*(1.5+1.2i),0,…,0],这样得到的图就是儿个周期的了,接下来的工作就是确定二个周期T是多少,2T=2×1/320.87=0.0062秒,那么也就是说你所采样的1024个点的总的时间长度是0.0062秒,那时间轴就是t=(0:1023)/1024*2T。剩下的就是绘图了,plot(t,x),x就是IFFT之后的结果。 4.3 依次类推。5. 那画出的图究竟是什么样子呢? 以320.87赫兹,幅度是1.5,初始相位30°,为例子,得到的图如下。
![](http://img.wesiedu.com/upload/f/d5/fd5b366a6a94fe4c029e9d69826b2bc0.jpg)
![](http://img.wesiedu.com/upload/f/10/f1028fcc26da46055317408a4600a53c.jpg)
matlab 已知一系列离散的频域解,如何求时域解 跪谢!
MATLAB 离散信号的时域和频域分析
matlab 画频谱MATLAB画时域离散信号频谱时,时域坐标和频谱坐标怎么对应.求程序
如何用matlab表示时域离散序列
如何在matlab中用function编写一个子函数求一个给定函数的离散时间的离散时间傅里叶变换
时域与频域的问题DFT时域连续决定频域?(连续/离散)时域离散决定频域?时域是周期函数则频域?
matlab如何把画图画出的离散点进行连线
如何在 matlab实现一个离散的M程序
matlab中如何画离散型的二维图
遗传算法求离散点的最值问题,离散点的编码方式是浮点编码,MATLAB如何实现交叉和变异操作?
求matlab离散化程序
matlab中,怎么根据一系列三维离散的点拟合出一个球面啊,并在球面上显示这些离散的点,进行数据分析