小编Kir*_*kov的帖子

Java链接器的工作原理

我想知道Java链接器的工作原理.具体来说,它将类,接口,包,方法等组合成jvm可执行格式.我在这里找到了一些信息,但关于链接顺序的信息并不多.

java linker jvm specifications

12
推荐指数
4
解决办法
1万
查看次数

FFTW:信号由IFFT后的噪声组成

做完FFT和IFFT后,我只能听到耳机里的噪音......这是代码:

        double* spectrum = new double[n];

        fftw_plan plan;

        plan = fftw_plan_r2r_1d(n, data, spectrum, FFTW_REDFT10, FFTW_ESTIMATE);

        fftw_execute(plan);
        fftw_destroy_plan(plan);

        plan = fftw_plan_r2r_1d(n, spectrum, data, FFTW_REDFT01, FFTW_ESTIMATE);
        fftw_execute(plan);
        fftw_destroy_plan(plan);
Run Code Online (Sandbox Code Playgroud)

也许我选择了错误的FFT类型?
PS数据是初始信号

UPDATE

好的,现在代码是

        fftw_complex* spectrum = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * n);

        fftw_plan plan;

        plan = fftw_plan_dft_r2c_1d(n, data, spectrum, FFTW_ESTIMATE);

        fftw_execute(plan);
        fftw_destroy_plan(plan);

        plan = fftw_plan_dft_c2r_1d(n, spectrum, data, FFTW_ESTIMATE);
        fftw_execute(plan);
        fftw_destroy_plan(plan);
Run Code Online (Sandbox Code Playgroud)

问题仍然存在,我的数据阵列已损坏.

更新#2

所以,问题在于我的变换大小和规范化.如果我使用真实到实际的FFTW_REDFT10和FFTW_REDFT01转换我需要使用的变换尺寸?2*N?或者是其他东西?然后我需要通过将每个元素除以2*n来规范化输出信号?
感谢大家的回复.

更新#3

感谢大家再次回复.我帮你解决了这个问题.这是工作代码:

        // FFT  
        fftw_complex* spectrum  = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * n);

        fftw_plan plan;

        plan = fftw_plan_dft_r2c_1d(n, data, spectrum, FFTW_ESTIMATE);

        fftw_execute(plan);
        fftw_destroy_plan(plan); …
Run Code Online (Sandbox Code Playgroud)

c c++ fft noise fftw

8
推荐指数
1
解决办法
3414
查看次数

Cloud9或WebStorm

什么IDE更适合node.js和/或JQuery开发?哪个会提高生产力?它们有哪些优点和缺点?

javascript ide jquery node.js

7
推荐指数
1
解决办法
3047
查看次数

如何在FFTW库中实现逆实数FFT

我正在尝试使用FFT进行一些过滤.我正在使用r2r_1d计划,我不知道如何进行逆变换...

    void PerformFiltering(double* data, int n)
    {
                    /* FFT */
        double* spectrum = new double[n];

        fftw_plan plan;

        plan = fftw_plan_r2r_1d(n, data, spectrum, FFTW_REDFT00, FFTW_ESTIMATE);

        fftw_execute(plan); // signal to spectrum
        fftw_destroy_plan(plan); 


                    /* some filtering here */


                    /* Inverse FFT */
        plan = fftw_plan_r2r_1d(n, spectrum, data, FFTW_REDFT00, FFTW_ESTIMATE);
        fftw_execute(plan); // spectrum to signal (inverse FFT)
        fftw_destroy_plan(plan);

}
Run Code Online (Sandbox Code Playgroud)

我做的所有事情都正确吗?我很困惑,因为在FFTW复数DFT中你可以用这样的标志设置变换方向:
p = fftw_plan_dft_1d(N,in,out,FFTW_FORWARD,FFTW_ESTIMATE);

p = fftw_plan_dft_1d(N,in,out,FFTW_BACKWARD,FFTW_ESTIMATE);

c c++ fft inverse fftw

5
推荐指数
1
解决办法
4454
查看次数

使用Graph#的图形布局

这是我的窗口代码:

public partial class MainWindow
{
    private MainWindowViewModel _mainWindowViewModel;

    public MainWindow()
    {
        InitializeComponent();
        _mainWindowViewModel = new MainWindowViewModel();
        DataContext = _mainWindowViewModel;
    }
}
Run Code Online (Sandbox Code Playgroud)

和视图模型代码:

class MainWindowViewModel : ViewModelBase
{
    private BidirectionalGraph<string, IEdge<string>> _graph;

    public BidirectionalGraph<string, IEdge<string>> Graph
    {
        get { return _graph; }
        set
        {
            _graph = value;
            NotifyPropertyChanged("Graph");
        }
    }

    public MainWindowViewModel()
    {
        Graph = new BidirectionalGraph<string, IEdge<string>>();

        // test data
        const string vertex1 = "123";
        const string vertex2 = "456";
        const string vertex3 = "ddd";

        Graph.AddVertex(vertex1);
        Graph.AddVertex(vertex2);
        Graph.AddVertex(vertex3);
        Graph.AddEdge(new …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf graph graph-sharp

5
推荐指数
1
解决办法
1812
查看次数

TensorFlow服务中的legacy_init_op

我注意到TensorFlow Serving上的每个例子都使用了legacy_init_op参数,SavedModelBuilder但我没有找到任何关于这是什么的明确解释以及为什么它被称为遗留.谁知道这个论点的目的?

例:

legacy_init_op = tf.group(tf.tables_initializer(), name='legacy_init_op')

builder.add_meta_graph_and_variables(
      sess, [tf.saved_model.tag_constants.SERVING],
      signature_def_map={
          'predict_images':
              prediction_signature,
          tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY:
              classification_signature,
      },
      legacy_init_op=legacy_init_op)
Run Code Online (Sandbox Code Playgroud)

python machine-learning deep-learning tensorflow

5
推荐指数
1
解决办法
1564
查看次数

我可以异步运行Seq.iter的动作功能吗?

所以,标题描述了一切.

Seq.iter (fun item -> (*do something*)) sequence
Run Code Online (Sandbox Code Playgroud)

我可以将所有这些lambda函数作为并行运行吗?当这个函数做了一些大工作时,它会很有用.

.net parallel-processing f# asynchronous

3
推荐指数
1
解决办法
376
查看次数

WPF.列表框.如何将所选项目的最大值限制为2?

我需要将ListBox中所选项目的数量限制为2.如何执行此操作?是否可以避免使用事件并在XAML中执行此操作?

.net c# wpf xaml listbox

3
推荐指数
1
解决办法
5550
查看次数

记录 MQ 消息

我想将进入 MQ 队列的消息记录到数据库/文件或另一个日志记录队列中,但我无法修改现有代码。是否有任何方法可以实现某种类似于 HTTP 嗅探器的消息记录实用程序?或者也许 MQ 有一些内置的功能来记录消息?

提前感谢您的回答。

logging ibm-mq

2
推荐指数
1
解决办法
2791
查看次数

Haskell getContents等待EOF

我想等到用户输入终止EOF然后输出全部.这不是getContents应该做的吗?每次用户点击进入时,以下代码输出,我做错了什么?

import System.IO

main = do
  hSetBuffering stdin NoBuffering
  contents <- getContents
  putStrLn contents
Run Code Online (Sandbox Code Playgroud)

io monads haskell

2
推荐指数
2
解决办法
1535
查看次数

WPF.MVVM.使用事件是一个坏的基调?

在使用MVVM模式时,事件的使用是否被认为是错误的并且所有UI逻辑都应该通过命令实现?

.net wpf events command mvvm

1
推荐指数
1
解决办法
1155
查看次数

在异步 Rust 中包装阻塞 mpsc (Tokio)

我正在尝试使用 Tokio 包装同步 MQTT 客户端。该代码需要通过 std::sync::mpsc通道不断接收消息并将其发送到异步代码中。我了解如何用于spawn_blocking包装返回单个值的代码。但是如何将其应用于包装从std::sync::mpsc通道连续接收消息的循环呢?

这是我用来向频道发送消息的代码。

let (mut tx, mut rx) = std::sync::mpsc::channel();

tokio::spawn(async move {
            let mut mqtt_options = MqttOptions::new("bot", settings.mqtt.host, settings.mqtt.port);
            let (mut mqtt_client, notifications) = MqttClient::start(mqtt_options).unwrap();

            mqtt_client.subscribe(settings.mqtt.topic_name, QoS::AtLeastOnce).unwrap();

            tokio::task::spawn_blocking(move || {
                println!("Waiting for notifications");
                for notification in notifications {
                    match notification {
                        rumqtt::Notification::Publish(publish) => {
                            let payload = Arc::try_unwrap(publish.payload).unwrap();
                            let text: String = String::from_utf8(payload).expect("Can't decode payload for notification");
                            println!("Recieved message: {}", text);
                            let msg: Message = serde_json::from_str(&text).expect("Error while deserializing …
Run Code Online (Sandbox Code Playgroud)

rust rust-tokio

1
推荐指数
1
解决办法
2212
查看次数